《微型计算机原理 王忠民 课后答案 汇编语言程序设计.docx》由会员分享,可在线阅读,更多相关《微型计算机原理 王忠民 课后答案 汇编语言程序设计.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机原理 王忠民 课后答案 汇编语言程序设计 第五章汇编语言程序设计 1.画图说明下列语句所分配的存储空间及初始化情况。 (1)42H 59H 54H 45H 00H EEH 00H 07H 01H 02H 01H 02H 07H 00H 07H 01H 02H 01H 02H 07H 00H 07H 01H 02H 01H 02H 07H (2)00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 07
2、H 00H FBH FFH 59H 42H 45H 54H 02H 56H 2.(PLENTH)=22H;它表示数据与的长度 3.(L)=06H 4.(1)MOV BX OFFSET LNAME (2)MOV SI WORD PTR CODE_LIST (3)MOV CODE_LENGTH EQU $-CODE_LIST 5.(AX)=10 (BL)=10 (CL)=1 6.(1).(AX)=1 (2).(AX)=2 (3).(CX)=20 (4).(DX)=40 (5).(CX)=1 7.是说明下列指令中那些需要加上PR伪指令定义符。 (1).不需要(2)不需要(3)SUB BX,WORD
3、BYTE 2(或其他形式)(4).MOV CL,BYTE PTR WVAL 8编一宏定义BXCHG,将一字节高4位和低4位交换。 BXCHG MARCO OPR MOV AL ,OPR MOV CL,04H ROL AH,CL ROR AL,CL OR AH , AL MOV OPR,AH ENDM 9.已知宏定义,展开宏调用:OPP BH,BL,CH,CL +MOV AX,BX +XCHG AL,CL +MOV AX,BL +XCHG AL,CH +MOV BL,AL 10.将寄存器中的16位数分成四组,每组四位,分别存放在AL,BL,CL和DL中。MOV CH,04H MOV CL,AL
4、MOV DL,AL SHR CL,CH AND DL,AH MOV AL,AH MOV BL,AH SHR AL,CH AND BL,0FH 11.试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示MATCH,若不相同则显示NOMATCH. 解:DATA SEGMENT STRING1 DB ABCDE STRING2 DB ABCDEF MESG1 DB MATCH$ MESG2 DB MATCH$ DATA ENDS STACK SEGMENT BUF DB 100DUP(?) STACK ENDS CODE SEGMENT MAIN PROC F
5、AR START:PUSH DS MOV AX,0 PUSH AX PUSH ES MOV AX,DATA MOV DS,AX MOV AL,STRING1 MOV CL,6 MOV SI,OFFSET STRING1 MOV DI,OFFSET STRING2 CLD REPE CMPSB JZ ALLMATCH MOV DX OFFSET MESG2 MOV AH,9 INT 21H RET ALLMATCH: MOV DX OFFSET MESG1 MOV AH 9 MOV 21H RET MAIN ENDP CODE ENDS END START 13.编写程序,将一个包含有20个数据
6、的数组M分成两个数组,正数组P和负数组,分别把这两个数组中的数据的个数显示出来。 解:DATA SEGMENT M DB 1 ,2,3,4,5,6,7,8,9,10 DB -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 P DB 20DUP(?) N DB 20DUP(?) DATA ENDS CODE SEGMENT MAIN PROC FAR START:PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV AL,0 MOV SI OFFSET M MOV CX 20H LOOP1: MOV BL,MSI CMP AL,MSI
7、JAE LOOP2 MOV N,BL INC SI CMP CX,20H JZ LOOP3 JMP LOOP1 LOOP2: DEC CX MOV P, BL INC SI CMP CX,20H JZ LOOP3 JMP LOOP1 LOOP3: MOV DX,OFFSET P MOV AH,9 INT 21H MOV DX,OFFSET N MOV AH, 9 INT 21H RET MAIN ENDP CODE ENDS END START 20.编写程序,求字节变量BVAR中的压缩BCD数转换为二进制数,并存入原变量中。 解:DATA SEGMENT BVAR DW 53H,00H DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START:PUSH DS MOV AX,0 PUSH DS,AX MOV AX,DATA MOV DS,AX MOV AL,BYTE PTR SW MOV AH,AL AND AX,0F00FH MOV CL,4 SHL AH,CL MOV SW,AX RET MAIN ENDP CODE ENDS END START