汇编复习资料(3)

2019-03-15 22:24

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,A MOV CX,2

MOV SI,OFFSET B LEA DI,C L: MOV AL,[SI] XLAT

MOV [DI],AL INC SI INC DI LOOP L

MOV AH,4CH INT 21H CODE ENDS END START

5.分析下列程序,说明程序的功能。将STR中的十进制数经过查表转换成ASCII码并送BUF保存。

DATA SEGMENT

TAB DB 30H,31H,32H,33H,34H,35H DB 36H,37H,38H,39H STR DB 3,2,7,6,8 COUNT EQU $—STR BUF DB 10 DUP(0) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX LEA BX,TAB LEA DI, BUF MOV CX,COUNT LEA SI, STR L: MOV AL,[SI] XLAT

MOV [DI],AL INC SI INC DI LOOP L

MOV AH,4CH INT 21H CODE ENDS END START

6.分析下列程序,说明程序的功能。将A中的4个字节数(00563412H)与B中的4个字节数(00316253H)相加,并将结果存放在C中。 DATA SEGMENT

A DB 12,34,56H,0 B DB 53H,62,31H,0 C DB 4 DUP(0) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,B LEA BX,C MOV CX,4 CLC

L: MOV AL,[SI] ADC AL,[DI] MOV [BX],AL INC SI INC DI INC BX LOOP L

MOV AH,4CH INT 21H CODE ENDS END START

7.按下列各小题的要求写出相应的一条汇编语言指令。

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中

(2)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。 (3)以SI和位移量20H作寄存器相对寻址,将该单元中的内容与CX寄存器中的内 容相加,结果存入CX寄存器中。

(4)清除AX寄存器的内容,同时清除CF标志位 (5)将字单元NUM与0B6H进行比较

(1)ADD DX,BX

(2)MOV AX,[BX+SI] (3)ADD CX,[SI+20H] (4)XOR AX,AX

(5)CMP WORD PTR NUM,0B6H 8.按下列各小题的要求使用相应的几条指令完成其操作。

(1)将偏移量为200H的存储单元中的数与300H相加,结果存入AX寄存器中 (2)比较AX寄存器中与BX寄存器中的16位有符号数,当AX中的内容大于BX中的内容时转移到L。

(3)将BUF1和BUF2中的16位数据交换

(4)测试BUF字缓冲区中第15位,如果为1则转移到P (5)将BUFI和BUF2的字相加,结果送S缓冲区

(1)MOV AX,[200H]

ADD AX,300H (2)CMP AX,BX

JG L

(3)MOV AX,BUF1

XCHG AX,BUF2 MOV BUF1,AX

(4)TEST WORD PTR BUF,8000H

JNZ P

(5)MOV AX,BUF1 ADD AX,BUF2 MOV S,AX

9.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么? SHR BX,1 SAR BX,1

SHR是逻辑右移指令,移位后空出的位补0,而SAR是算术右移指令,最高位保持不变,其他位右移一位。SHR BX,1执行后BX=411AH,执行SAR BX,1后 BX=0C11AH。

10.现有程序段如下: MOV AX,1234H MOV BX,60H ADD AX,BX

请回答 :(1)该程序段完成的功能是什么? (2)程序段执行完后AX= 。

(1)两数1234H和60H相加,结果存放在AX中。

(2)1294H 11.现有程序段如下: MOV AX,0603H MOV BL,8 AAD DIV BL 请回答 :

(1)该程序段完成的功能是什么?

(2)程序段执行完后AX= 。

(1)实现两个未压缩BCD码的除法。

(2)0707H

12.设AX=0D023H,BX=9FD0H,试分析执行完如下程序段后程序转向何处?请说明为何? ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4

JMP L5

L5,原因由同学们自己作答。

13.程序段如下: MOV AX,X MOV DX,X+2 ADD AX,Y ADC DX,Y+2 ADD AX,36 ADC DX,0 SUB AX,Z SBB DX,Z+2 MOV W,AX MOV W+2,DX

请回答 :(1)该程序段完成的功能是什么? (2)该程序的操作数是何类型? (3)结果存放在何处?

(1)计算X+Y+36-Z

(2)字 (3)W

14.设A为字节变量,变量中的内容分别为64H、52H;B为字节变量,变量中的内容分别为 12H、46H,现有程序段如下:


汇编复习资料(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:09学前儿童心理学2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: