汇编语言程序设计练习题
- 格式:pdf
- 大小:111.50 KB
- 文档页数:9
汇编语言程序设计练习题
阅读程序并完成填空:
1.1.MOV BL,85H
MOV AL,17H
ADD AL,BL
AL=?,BL=?,CF=?
2.2.MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX=?,CF=?
3.3.MOV AX,0FF60H
STC
MOV DX,96
XOR DH,0FFH
SBB AX,DX
AX=?,CF=?
4.4.MOV BX,0FFFEH
MOV CL,2
SAR BX,CL
5.5.MOV BX,0FFH
AND BX,0FFFH
OR BX,0F0FH
XOR BX,00FFH
上述程序段运行后,BX=?,CF=?
6.6.CMP AX,BX
JGE NEXT
XCHG AX,BX
NEXT:CMP AX,CX
JGE DONE
XCHG AX,CX
DONE:。。。。。
试回答:
(1)(1)上述程序段执行后,原有AX、BX、CX中最大数存放在哪个寄存器中?
(2)(2)这3个数是带符号数还是无符号数?
7.7.在数据段ADDR1地址处有200个字节,要传送到数据段ADDR2处。
MOV AX,SEG ADDR1
MOV DS,AX
MOV ES,-------
MOV SI,-------
MOV DI,OFFSET ADDR2
MOV-----,200
CLD
REP---------
8.8.ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。
MOV CX,2
XOR BX,BX
CLC
NEXT:MOV AX,[ADDR1+BX]
ADC AX,-------
MOV[ADDR2+BX],AX
ADD--------,2
---------NEXT
9.9.设初值AX=1234H,BX=5678H,DX=0ABCDH,则执行下面一段程序后AX=------,BX=----,DX=--------。
MOV CL,4
SHL DX,CL
MOV BL,AH
SHL AX,CL
SHR BL,CL
OR DL,BL
10.10.设有一个首地址为ARRAY有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中,有关程序如下:MOV CX,------
MOV AX,0
MOV SI,0
START:ADD AX,-----
ADD SI,2
DEC CX
JNZ START
MOV------,AX
11.11.设段地址为1000H偏移地址为STR的5个字节的内容逐一装入累加器中,加1后,再送入STR为首地址的存储单元中,程序如下:
MOV AX,1000H
MOV ES,AX
MOV DS,AX
---------
MOV CX,5
CLD
NEXT:LODSB
ADD AL,1
LOOP NEXT
12.12.在一个首地址为STR、长度为N的字符串中查找空格,找到则向DL中送1,否则向DL中送-1。
MOV CX,N
MOV SI,0
MOV AL,20H
NEXT:CMP AL,----
JZ DISPY
INC----
-----NEXT
MOV DL,-1
JMP NEXT1
DISPY:MOV DL,1
。。。。。。
NEXT1:
13.13.将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处。
MOV AX,-----
MOV DS,AX
MOV ES,-----
MOV SI,OFFSET ADDR
MOV------,SI
CLD
MOV CX,N
NEXT:--------
ADD AL,1
STOSB
LOOP NEXT
14.14.若定义如下数据段
DATA SEGMENT
ORG1000H
DAT1DB‘ABC’,-2,12H
DAT2DW3,‘AB’,$+4
DAT3DB2DUP(1,2,3DUP(?))
DATA ENDS
试写出下列指令执行后,AX=----,BX=--------,CX=--------。
MOV BX,DAT2+4
MOV CH,DAT3
MOV AX,WORD PTR[DAT1+2]
MOV CL,LENGTH DAT3
SHL AX,CL
OR BX,0F000H
四.分析以下的汇编语言源程序。
1)tack segment stack
Dw256dup(?)
Stack ends
Data segment
Da1dw-1,-3,5,6,9
Rs dw?
Data ends
Code segment
Assume cs:code,ss:stack,ds:data
Start:mov ax,data
Mov ds,ax
Mov bx,offset da1;BX的含义是:________________
Mov cx,(rs-da1)/2;CX的含义是:________________
Mov dx,0;DX的含义是:________________ Lop1:mov ax,[bx];指令①