ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:22.57KB ,
资源ID:23285127      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23285127.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机实验考试程序.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机实验考试程序.docx

1、微机实验考试程序实验2:dispc MACRO char;定义宏,显示单字符 MOV DL,char MOV AH,2 INT 21h ENDMdata SEGMENT;定义数据段 x DB ?;定义变量x,保存第一个数 y DB ?;定义变量y,保存第二个数 C DB ?;定义变量c,保存运算符data ENDScode SEGMENT;定义代码段ASSUME CS:code,DS:datago: MOV AX,data MOV DS,AX;段地址填装 MOV AH,2 MOV BH,0 MOV DX,0 INT 10H MOV AH,9 MOV AL,20H MOV BL,12 MOV C

2、X,2000 INT 10HL1: CALL input;接收第一个数 MOV x,AL CALL input MOV BL,AL MOV AL,10 MUL x ADD AL,BL MOV x,ALL2: MOV AH,1;接收运算符 INT 21H CMP AL,/ JE L3 dispc 8;错误处理 dispc 20H dispc 8 JMP L2L3: MOV c,AL;保存运算符 CALL input;接收第二个数 MOV y,AL CALL input MOV BL,AL MOV AL,10 MUL y ADD AL,BL MOV y,AL dispc = JMP L10D1:

3、DISPC CLD2: DISPC BHD3: DISPC BL JMP L12D4: CMP CL,0 JNE D1D5: CMP BH,0 JNE D2 JMP D3 L10: MOV AL,x MOV AH,0 DIV y PUSH AX AAM OR AX,3030H CMP AH,0 JE L9 PUSH AX DISPC AH POP AXL9: DISPC AL POP AX CMP AH,0 JE L12 PUSH AX MOV CX,6L11: DISPC . LOOP L11 POP AX MOV AL,AH AAM OR AX,3030H MOV BX,AX JMP D5

4、L12: dispc 0DH;回车 dispc 0Ah;换行 JMP L1exit: MOV AH,4Ch INT 21H;退出input PROC;定义子程序,接收单字符i1: MOV AH,1 INT 21H;接收单字符 CMP AL,1Bh JE exit;按ESC键退出 CMP AL,0 JAE i3i2: dispc 8;错误处理 dispc 20H dispc 8 JMP i1i3: CMP AL, 9 JA i2 AND AL,0FH;转换成数值 RET;返回input ENDPcode ENDSEND go实验3:实验4:dispc MACRO char;定义宏,显示单字符 M

5、OV DL,char MOV AH,2 INT 21h ENDMdata SEGMENT;定义数据段 x DB ?;定义变量x,保存第一个数 y DB ?;定义变量y,保存第二个数 c DB ?;定义变量c,保存运算符data ENDScode SEGMENT;定义代码段ASSUME CS:code,DS:datago: MOV AX,data MOV DS,AX;段地址填装 MOV AH,2 MOV BH,0 MOV DX,0 INT 10H MOV AH,9 MOV AL,20H MOV BL,12 MOV CX,2000 INT 10HL1: CALL input;接收第一个数 MOV

6、x,AL CALL input MOV BL,AL MOV AL,10 MUL x ADD AL,BL MOV x,ALL2: MOV AH,1;接收运算符 INT 21H CMP AL,* JE L3 dispc 8;错误处理 dispc 20H dispc 8 JMP L2L3: MOV c,AL;保存运算符 CALL input;接收第二个数 MOV y,AL CALL input MOV BL,AL MOV AL,10 MUL y ADD AL,BL MOV y,AL dispc = CMP c,* JE L8L8: MOV AL,x MUL y MOV DX,0 MOV BX,100

7、0 DIV BX MOV CH,AL;保存千位到CH中。 MOV AX,DX MOV BL,100 DIV BL MOV CL,AL;保存百位到CL中。 OR CX,3030H MOV AL,AH AAM;(AH)=十位,(AL)=个位 OR AX,3030H;转换成字符 MOV BX,AX;保存十位到BH中,个位到BL中。 CMP CH,0 JE D4 DISPC CHD1: DISPC CLD2: DISPC BHD3: DISPC BL JMP L12D4: CMP CL,0 JNE D1D5: CMP BH,0 JNE D2 JMP D3 L12: dispc 0DH;回车 dispc

8、 0Ah;换行 JMP L1exit: MOV AH,4Ch INT 21H;退出input PROC;定义子程序,接收单字符i1: MOV AH,1 INT 21H;接收单字符 CMP AL,1Bh JE exit;按ESC键退出 CMP AL,0 JAE i3i2: dispc 8;错误处理 dispc 20H dispc 8 JMP i1i3: CMP AL, 9 JA i2 AND AL,0FH;转换成数值 RET;返回input ENDPcode ENDSEND go实验5:DISPC MACRO C;显示单字符 MOV DL,C MOV AH,2 INT 21H ENDM;定义宏D

9、ATA SEGMENT X DB 1234567890;定义变量X Y DB 1122334455;定义变量Y C EQU 10;计算长度 Z DB C+1 DUP(0);保存运算结果DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA;段说明GO: MOV AX,DATA MOV DS,AX MOV ES,AX;段地址填装 LEA SI ,X ;减法 LEA DI,Y;从最高位比较X,Y的大小 MOV CX,C CLDL5: LODSB ;(AL)=(DS):(SI) CMP AL,DI ; X Y 比较 JA L6;无符号比较 JB L7

10、 INC DI LOOP L5 DISPC 0 JMP L10L6: LEA SI,X+C-1 ;初始化地址指针SI到X尾 LEA BX,Y+C-1 ;初始化地址指针BX到Y尾 JMP L8L7: DISPC - LEA SI,Y+C-1 LEA BX,X+C-1L8: LEA DI,Z+C ;初始化地址指针DI到Z尾 STD ;地址减量变化 CLC ;CF=0 MOV CX,C ;置循环次数到CXL9: LODSB ;(AL)=(DS):(SI) SBB AL,BX ;X-Y AAS DEC BX ;由高位到低位 STOSB ;存串 LOOP L9 MOV CX,C+1 LEA BX,ZL1

11、1: MOV DL,BX OR DL,30H ;将数值转换成字符 MOV AH,2 INT 21H INC BX LOOP L11L10: MOV AH,7;等待语句 INT 21H MOV AH,4CH INT 21HCODE ENDSEND GO实验6:DISPC MACRO C;定义显示单字符的宏 MOV DL,CH MOV AH,2 INT 21H ENDMX_Y MACRO X,Y;定义置光标的宏 MOV AH,2 MOV BH,0 MOV DH,X MOV DL,Y INT 10H ENDMDISPS MACRO S;定义显示字符串的宏 MOV AH,9 LEA DX,S INT

12、21H ENDMDATA SEGMENT X DB 60 DUP(0),$;$为显示结束符 Y DB 60 DUP(0),$ DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAGO: MOV AX,DATA MOV DS,AX;填装段地址 MOV AH,2;清屏 MOV BH,0 MOV DX,0 INT 10H MOV AH,9 MOV AL,20H MOV BL,12H MOV CX,2000 INT 10H X_Y 6,0;置光标于6行0列 LEA BX,Y;初始化地址 LEA SI,X MOV CX,60;初始化长度L1: MOV AH,1 INT

13、 21H;接收单字符 CMP AL,A JAE L3;无符号比较,若大于等于转移L2: CALL ERROR;调用子程序 JMP L1L3: CMP AL,Z JBE L4 CMP AL,a JB L2 CMP AL,z JA L2;判断是否为字母 JMP L5L4:ADD AL,20H;将大写字母转换成小写字幕L5:MOV SI,AL;保存 INC SI;地址增量变化 LOOP L1 X_Y 10,0;置光标于10行0列 DISPS X;显示大小写转换后的字符串 MOV AH,7 INT 21H;等待 MOV AH,4CH INT 21H;退出ERROR PROCDISPC 8DISPC 2

14、0HDISPC 8;错误处理DISPC 7; 置响铃RET; 返回ERROR ENDPCODE ENDSEND GO实验7; DISPC MACRO C;定义显示单字符的宏 MOV DL,Ch MOV AH,2 INT 21H endm X_Y MACRO X,Y;定义置光标的宏 MOV AH,2 MOV BH,0 MOV DH,X MOV DL,Y INT 10H ENDMDISPS MACRO S;定义显示字符串的宏 MOV AH,9 LEA DX,S INT 21H ENDMDATA SEGMENT X DB 80 DUP(0),$;$为显示结束符 DATA ENDSCODE SEGME

15、NT ASSUME CS:CODE,DS:DATAGO: MOV AX,DATA MOV DS,AX;填装段地址 X_Y 8,0;置光标于8行0列 LEA SI,X;初始化地址 MOV CX,80;初始化长度L1: MOV AH,1 INT 21H;接收单字符 CMP AL,A JAE L3;无符号比较,若大于等于转移 cmp al,0 jae l4;大于等于转l4L2: CALL ERROR;调用子程序 JMP L1L3: CMP AL,Z JBE L6 CMP AL,a JB L2;低于转l2 CMP AL,z jbe l6 jmp l2l4 : cmp al,9 jbe l5 cmp a

16、l,A jb l2 jmp l3L5: and al,20h;数字转换为空格l6: MOV SI,AL;保存 INC SI;地址增量变化 LOOP L1 X_Y 10,0;置光标于10行0列 DISPS X;显示 转换后的字符串 MOV AH,7 INT 21H;等待 MOV AH,4CH INT 21H;退出error proc dispc 8 dispc 20h dispc 8;错误处理 dispc 7;置响铃 ret;返回error endp code ends end go实验8:DISPC MACRO C;定义显示单字符的宏 MOV DL,Ch MOV AH,2 INT 21H en

17、dmX_Y MACRO X,Y;定义置光标的宏 MOV AH,2 MOV BH,0 MOV DH,X MOV DL,Y INT 10H ENDMDISPS MACRO S;定义显示字符串的宏 MOV AH,9 LEA DX,S INT 21H ENDMDATA SEGMENT X DB 80 DUP(0),$;$为显示结束符 DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAGO: MOV AX,DATA MOV DS,AX;填装段地址MOV AH,2;清屏 MOV BH,0 MOV DX,0 INT 10H MOV AH,9 MOV AL,20H MOV

18、 BL,12H MOV CX,2000 INT 10H X_Y 7,0;置光标于6行0列 LEA SI,X;初始化地址 MOV CX,80;初始化长度L1: MOV AH,1 INT 21H;接收单字符 CMP AL,A JAE L3;无符号比较,若大于等于转移L2: CALL ERROR;调用子程序 JMP L1L3: CMP AL,z JA L2;判断是否为字母L4: MOV SI,AL;保存 INC SI;地址增量变化 LOOP L1 L5: LEA SI,X MOV CX,79;置长度 MOV DL,0L6: MOV AL,SI CMP AL,SI+1 JAE L7;大于或等于转L7

19、XCHG AL,SI+1;互换内容 MOV SI,AL MOV DL,1L7: INC SI LOOP L6 CMP DL,1 JE L5 X_Y 11,0;置光标于11行0列 DISPS X;显示最终的字符串 MOV AH,7 INT 21H;等待 MOV AH,4CH INT 21H;退出error proc dispc 8 dispc 20h dispc 8;错误处理 dispc 7;置响铃 ret;返回error endp code ends end go实验9:DISPC MACRO C;定义显示单字符的宏 MOV DL,Ch MOV AH,2 INT 21H endmX_Y MAC

20、RO X,Y;定义置光标的宏 MOV AH,2 MOV BH,0 MOV DH,X MOV DL,Y INT 10H ENDMDISPS MACRO S;定义显示字符串的宏 MOV AH,9 LEA DX,S INT 21H ENDMDATA SEGMENT X DB 80 DUP(0),$;$为显示结束符 DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAGO: MOV AX,DATA MOV DS,AX;填装段地址MOV AH,2;清屏 MOV BH,0 MOV DX,0 INT 10H MOV AH,9 MOV AL,20H MOV BL,12H M

21、OV CX,2000 INT 10H X_Y 6,0;置光标于6行0列 LEA SI,X;初始化地址 MOV CX,80;初始化长度L1: MOV AH,1 INT 21H;接收单字符 CMP AL,A JAE L3;无符号比较,若大于等于转移L2: CALL ERROR;调用子程序 JMP L1L3: CMP AL,z JA L2;判断是否为字母L4: MOV SI,AL;保存 INC SI;地址增量变化 LOOP L1 L5: LEA SI,X mov cx,79;置长度 mov DL,0L6: mov al,si cmp al,si+1 JBE L7 XCHG AL,SI+1;互换内容

22、MOV SI,AL MOV DL,1L7: INC SI loop L6 cmp DL,1 JE L5 X_Y 9,0;置光标于9行0列 DISPS X;显示最终的字符串 MOV AH,7 INT 21H;等待 MOV AH,4CH INT 21H;退出error proc dispc 8 dispc 20h dispc 8;错误处理 dispc 7;置响铃 ret;返回error endp code ends end go实验10:disps macro x mov ah,9 lea dx,x int 21h endmdata segmentbuffer db 80,?,81 dup(0)f

23、name db D:STRING.TXT,0d1 db Create paper file error,0dh,0ah,$d2 db Create file error,0ah,0dh,$d3 db Write file error,0ah,0dh,$d4 db Close file error,0ah,0dh,$d5 db Operate succeed ,0ah,0dh,$d6 db 0ah,0dh,$data endscode segmentassume cs:code,ds:datago: mov ax,data mov ds,ax mov ah,2 mov bh,0 mov dx,0

24、 int 10h mov al,20h mov ah,9 mov cx,2000 mov bl,12h int 10h;清屏 mov ah,2 mov bh,0 mov dh,5;置光标位置于5行 mov dl,0;置光标位置于0列 int 10h mov ah,0ah lea dx,buffer int 21h mov cl,buffer+1 mov ch,0 lea si,buffer+2l1: lodsb;取下一个源串中的值 cmp al,a jb m2 cmp al,zja m2 xor al,20h;将小写字母转换成大写字母 mov si-1,al;将转换后的字符存入SI-1中m2:

25、 loop l1 mov byte ptrsi,$ mov ah,2 mov bh,0 mov dh,7;将光标置于10行 mov dl,0;将光标置于0列 int 10h disps buffer+2 disps d6;显示转换后的字符l2: mov ah,5bh;建立新文件 mov cx,0 lea dx,fname int 21h jnc l3;成功转l3 disps d2;错误显示d2 jmp l6;无条件转l6l3:MOV BX,AXLEA DX,buffer+2mov cx,80mov ah,40h;文件写入 int 21h jnc l4;成功转l4 disps d3;错误显示d3

26、 jmp l6;无条件转l6l4: mov ah,3eh;关闭文件 int 21h jnc l5 disps d4 jmp l6l5: disps d5;显示D5l6: mov ah,7 int 21h mov ah,4ch int 21hcode endsend go实验11:disps macro x mov ah,9 lea dx,x int 21h endmdata segmentbuffer db 80,?,81 dup(0)fname db D:USER.TXT,0d1 db Create paper file error,0dh,0ah,$d2 db Create file er

27、ror,0ah,0dh,$d3 db Write file error,0ah,0dh,$d4 db Close file error,0ah,0dh,$d5 db Operate succeed ,0ah,0dh,$d6 db 0ah,0dh,$data endscode segmentassume cs:code,ds:datago: mov ax,data mov ds,ax mov ah,2 mov bh,0 mov dx,0 int 10h mov al,20h mov ah,9 mov cx,2000 mov bl,12h int 10h;清屏 mov ah,2 mov bh,0 mov dh,8;置光标位置于8行 mov dl,0;置光标位置于0列 int 10h mov ah,0ah lea dx,buffer int 21h mov cl,buffer+1 mov ch,0 lea si,buffer+2l1: lodsb;取下一个源串中的值 cmp a

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1