微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf_第1页
微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf_第2页
微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf_第3页
微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf_第4页
微型计算机原理第2版西安电子科技大学出版社第五章汇编语言程序设计课后习题答案.pdf_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章第五章 汇编语言程序设计汇编语言程序设计 1、画图说明下列语句所分配的存储器空间及初始化的数据值。 (1) BYTE_VAR DB BYTE,12,-12H,3 DUP(0,7, 2 DUP(1,2),7) (2) WORD_VAR DW 5 DUP(0,1,2),7,-5,BY,TE,256H 答: (1) (2) BYTE_VAR 42H WORD_VAR 00H 07H 59H 00H 00H 54H 01H FBH 45H 00H FFH 0CH 02H 59H EEH 00H 42H 00H 00H 45H 07H 00H 54H 01H 01H 56H 02H 00H 02H 01H 02H 02H 00H 07H 00H 00H 00H 07H 01H 01H 00H 02H 02H 01H 00H 02H 00H 07H 00H 00H 01H 07H 00H 01H 02H 02H 00H 01H 00H 02H 00H 07H 01H 00H 02H 00H 2、假设程序中的数据定义如下: PARTNO DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $- PARTNO 问:PLENTH 的值为多少?他表示什么意义? 答:PLENTH 的值为 22,它表示当前已分配单元空间。 3、有符号定义语句如下: BUF DB 1,2,3,123 EBUF DB 0 L EQU EBUF-BUF 问:L 的值是多少? 答:L 的值为 6; 4、假设成序中的数据定义如下: LNAME DB 30 DUP(?) ADDRESS DB 30 DUP(?) CITY DB 15 DUP(?) CODE_LIST DB 1,7,8,3,2 (1) 用一条 MOV 指令将 LNAME 的偏移地址存入 BX。 (2) 用一条指令将 CODE_LIST 的头两个字节的内容放入 SI。 (3) 写一条伪指令定义符使 CODE_LENGTH 的值等于 CODE_LIST 域的实 际长度。 答:(1) MOV BX,OFFSET LNAME (2) MOV SI,WORD PTR CODE_LIST (3) CODE_LENGTH EQU $- CODE_LIST 5、对于下面的数据定义,试说明三条 MOV 语句指令的执行结果。 TABLEA DW 10 DUP(?) TABLEB DB 10 DUP(?) TABLEC DB 1234 答: MOV AX,LENGTH TABLEA ;(AX)=000AH MOV BL,LENGTH TABLEB ;(BL)=0AH MOV CL,LENGTH TABLEC ;(CL)=01H 6、对于下面的数据定义,各条 MOV 指令单独执行后,有关寄存器的内容 是什么? PLDB DB ? TABLEA DW 20 DUP(?) TABLEB DB ABCD ;答: (1) MOV AX,TYPE PLDB ;(AX)=0001H (2) MOV AX,TYPE TABLEA ;(AX)=0002H (3) MOV CX,LENGTH TABLEA ;(CX)=0014H (4) MOV DX,SIZE TABLEA ;(DX)=0028H (5) MOV CX,LENGTH TABLEB ;(CX)=0001H 7、试说明下述指令中哪些需要加上 PTR 伪指令定义符。 BVAL DB 10H,20H WVAL DW 1000H ;答: (1) MOV AL,BVAL ; (2) MOV DL,BX ; (3) SUB BX,2 ;SUB BX,WORD PTR 2 ; SUB BYTE PTR BX,2 (4) MOV CL,WVAL ;MOV CL,BYTE PTR WVAL 8、编写一宏定义 BXCHG,将一字节的高 4 位与低 4 位交换。 答: BXCHG MACRO BT MOV AL,BT MOV CL,4 ROL AL,CL ENDM 9、已知宏定义如下: XCHG0 MACRO A,B MOV AH,A XCHG AL,B MOV A,AL ENDM OPP MACRO P1,P2,P3,P4 XCHG0 P1,P4 XCHG0 P2,P3 ENDM 展开宏调用 OPP BH,BL,CH,CL 答:展开宏调用 OPP BH,BL,CH,CL 为: MOV AH,BH XCHG AL,CL MOV BH,AL MOV AH,BL XCHG AL,CH MOV BL,AL 10、将 AX 寄存器中的 16 位数分成 4 组,每组 4 位,然后把这四组数分别 放在 AL、BL、CL 和 DL 中。 答: MOV DL,AH AND DL,0F0H MOV CL,4 SHR DL,CL PUSH AX AND AH,0FH MOV BH,AH AND AL,0F0H MOV BL,AL MOV CL,4 SHR BL,CL MOV CL,BH POP AX AND AL,0FH 11、试编写一程序,要求比较两个字符串 STRING1 和 STRING2 所含字符 是否相同,若相同则显示“MATCH” ,若不相同则显示“NOMATCH” 。 13、编写程序,将以包含有 20 个数据的数组 M 分成两个数组,正数数组 P 和负数数组 N,并分别把这两个数组中数据的个数显示出来。 20、编写程序,将字节变量 BVAR 中的压缩型 BCD 数转换为二进制数,并 存入原变量中。 23、编写程序,将字节变量 BVAR 中的无符号二进制数(0FFH)转换为 BCD 数,在屏幕上显示结果。 24、设有字无符号数 X、Y,试编制求 Z=丨 X-Y 丨的程序。 11. DATA SEGMENT Infor1 DB Please input string1:,0AH,0DH,$ STR1 DB 12,0,10 DUP (0) Infor2 DB 0AH,0DH,Please input string2:,0AH,0DH,$ STR2 DB 12,0,10 DUP (0) Infor3 DB 0AH,0DH,MATCH,0AH,0DH,$ Infor4 DB 0AH,0DH,NO MATCH,0AH,0DH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,STR1 LEA DI,STR2 MOV DX,OFFSET Infor1 MOV AH,9 INT 21H MOV DX,OFFSET STR1 MOV AH,0AH INT 21H MOV DX,OFFSET Infor2 MOV AH,9 INT 21H MOV DX,OFFSET STR2 MOV AH,0AH INT 21H INC SI INC DI MOV AL,SI MOV AH,DI CMP AH,AL JNZ NOSAME CHARCOMPARE: INC SI INC DI MOV BH,BYTE PTRSI CMP BH,BYTE PTRDI JNZ NOSAME DEC AL JNZ CHARCOMPARE SAME: MOV DX,OFFSET Infor3 MOV AH,9 INT 21H JMP ReturnDOS NOSAME: MOV DX,OFFSET Infor4 MOV AH,9 INT 21H ReturnDOS: MOV AH,4CH INT 21H CODE ENDS END START EX511b.ASM DATA SEGMENT Infor1 DB Please input string1:,0AH,0DH,$ Infor2 DB 0AH,0DH,Please input string2:,0AH,0DH,$ STR1 DB 12,0,10 DUP (0) STR2 DB 12,0,10 DUP (0) Infor3 DB 0AH,0DH,MATCH,0AH,0DH,$ Infor4 DB 0AH,0DH,NO MATCH,0AH,0DH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX LEA SI,STR1 LEA DI,STR2 MOV DX,OFFSET Infor1 MOV AH,9 INT 21H MOV DX,OFFSET STR1 MOV AH,0AH INT 21H MOV DX,OFFSET Infor2 MOV AH,9 INT 21H MOV DX,OFFSET STR2 MOV AH,0AH INT 21H INC SI INC DI MOV AL,SI MOV AH,DI CMP AH,AL JNZ NOSAME MOV AH,0 MOV CX,AX INC SI INC DI CLD COMPARE: REPE CMPSB JNE NOSAME SAME: MOV DX,OFFSET Infor3 MOV AH,9 INT 21H JMP ReturnDOS NOSAME: MOV DX,OFFSET Infor4 MOV AH,9 INT 21H ReturnDOS: MOV AH,4CH INT 21H CODE ENDS END START EX513b DATA SEGMENT M DB 1,2,3,4,5,6,-7,-8,-9,-10,11,12,13,14,15,-16,-17,-18,-19,-20 P DB 20 DUP(0) N DB 20 DUP(0) CountP DB 0 CountN DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX mov bx,0 MOV SI,0 MOV DI,0 MOV CX,20 again: cmp Mbx,0 jl less je again inc si jmp next less: inc di next: inc bx dec cx jnz again show: mov ax,si mov ch,10 div ch mov dl,al mov bh,ah ADD DL,30H MOV AH,2 INT 21H mov dl,bh ADD DL,30H MOV AH,2 INT 21H mov dl,2ch mov ah,2 int 21h mov ax,di mov ch,10 div ch mov dl,al mov bh,ah ADD DL,30H MOV AH,2 INT 21H mov dl,bh ADD DL,30H MOV AH,2 INT 21H mov ah,4ch int 21h CODE ENDS END START EX515.ASM DATA SEGMENT INFOR0 DB 0AH,0DH,“please input a four hex number“,0AH,0DH,$ INFOR DB 0AH,0DH,“invalid hex digital“,0AH,0DH,$ INFOR2 DB 0AH,0DH,“convert binary is:“,0AH,0DH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,INFOR0 MOV AH,9 INT 21H XOR BX,BX MOV CH,04 MOV CL,04 INPUT: SHL BX,CL MOV AH,01 INT 21H CMP AL,30H JB ERROR CMP AL,39H JA NEXT AND AL,0FH JMP BINARY NEXT: CMP AL,41H JAE CONTINE JMP ERROR CONTINE: CMP AL,46H JA CONTINE2 JMP PROCESS CONTINE2: CMP AL,61H JAE CONTINE3 JMP ERROR CONTINE3: CMP AL,66H JA ERROR PROCESS: AND AL,0FH ADD AL,09H BINARY: OR BL,AL DEC CH JNE INPUT LEA DX,INFOR2 MOV AH,9 INT 21H DISPN: MOV CX,16 DISP: MOV DL,0 ROL BX,01 RCL DL,01 OR DL,30H MOV AH,02 INT 21H LOOP DISP JMP Exit ERROR: LEA DX,INFOR MOV AH,9 INT 21H Exit: MOV AH,4CH INT 21H CODE ENDS END START EX520.ASM DATA SEGMENT BVAR DB 35H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CL,4 MOV BL,BVAR ROR BL,CL AND BL,0FH MOV AL,BL MOV CH,10 MUL CH MOV BL,BVAR AND BL,0FH ADD AL,BL MOV BVAR,AL MOV AH,4CH INT 21H CODE ENDS END START EX523.ASM DATA SEGMENT BVAR DB 0FFH RESULT DB 3 DUP(0) DA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论