的内容分别是多少?
NUM1 EQU 340 NUM2=30*25 ┇
MOV AX,NUM2 LE NUM1;AX的值是: 0000H ,等效指令: MOV AX,0000H
MOV BX,NUM2 GT NUM1;BX的值是: FFFFH ,等效指令: MOV BX,0FFFFH MOV CX,NUM2-NUM1 ;CX的值是: 019AH ,等效指令: MOV CX,019AH 9、汇编语言源程序中有哪4个段寄存器?如何定义各段,若段定义中没有用ORG指令指定起始偏移地址,则缺省起始偏移地址是多少?
答:4个段寄器分别是CS、DS、ES和SS。 段定义的格式是: 段名 SEGMENT ┇ ;段体 段名 ENDS
若段定义中没有用ORG指令指定起始偏移地址,则缺省起始偏移地址是0000H。
10、说明将用户编写的汇编语言源程序编译成可执行文件的过程。 答:(1)用文字编辑软件编写源程序,可以使用如EDIT、记事本、写字板或WORD等字处理软件编写,以文本格式输出,文件的扩展名必须为.ASM。
(2)用汇编程序MASM.EXE或TASM.EXE对源文件进行汇编,形成目标文件.OBJ。
(3)用连接程序LINK.EXE对生成的目标文件进行连接定位,形成可执行文件.EXE。
第五章
习题
1. 根据给定指令填空:
(1) MOV AL,05H
ADD AL,09H AAA
(AL)= 04H
(2) MOV AL,75H
ADD AL,26H
9
DAA
(AL)= 01H
(3)MOV AL,05H
SUB AL,08H AAS
(AL)= 07H
(4) MOV AL ,08H
MOV BL,07H MUL BL AAM
(AX)= 0506H
(5) MOV AX,0605H
MOV BL,08H AAD DIV BL
(AL)= 08H
2.把变量X中的一位十六进制数显示在屏幕上。 答:程序如下:
DATA SEGMENT x DB 0DH TAB DB '0123456789ABCDEF' DATA ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,x MOV BX,OFFSET TAB
XLAT
MOV DL,AL MOV AH,02H
INT 21H MOV AH,4CH INT 21H CODE ENDS END START
10
3.求任一给定自然数(1≤N≤40)的立方值,并将立方值送DAT单元。 答:程序如下
DATA SEGMENT N DB 40 D AT DW ? DATA ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,N MOV CL,AL MUL CL MOV CL,N XOR CH,CH MUL CX MOV DAT,AX MOV AH,4CH INT 21H CODE ENDS END START
4.将A单元的内容求补,并与原内容相“与”,结果存入B单元中。 答:程序如下
DATA SEGMENT A DB 37H B DB ? DATA ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,A NEG AL AND AL,A MOV B,AL MOV AH,4CH
11
INT 21H CODE ENDS END START
5.编制程序将AX的中间8位,BX的低4位,DX的高4位拼成一个新字数据送DI为偏移地址的存储单元。
答:程序如下
DATA SEGMENT RESULT DW ? DATA ENDS
CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,523AH MOV BX,0C194H MOV DX,1B87H AND AX,0FF0H AND BX,000FH AND DX,0F000H OR AX,BX OR AX,DX MOV DI,OFFSET RESULT MOV [DI],AX MOV AH,4CH INT 21H CODE ENDS END START
6.数据段中以DI为偏移地址的单元连续存放着4个字节无符号数,编制程序求他们的和与差。
答:加法程序如下
DATA SEGMENT A DD 12345678H DD 87654321H RESULT DD ? DATA ENDS
CODE SEGMENT
12
相关推荐: