汇编语言复习知识点(郑晓薇版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.9 写出下列算式的二进制运算结果,标志位CF 、SF 、ZF 、OF 分别是什么值?

(1)56+63 (2)83-45 (3)-74+29 (4)-92-37 答案:

(1) 56+63=01110111B ,CF=0,SF=0,

ZF=0,OF =0

(2) 83-45=00100110B ,CF=0,SF=0,ZF=0,OF =0

(3) -74+29=11010011B ,CF=0,SF=1,ZF=0,OF =0

(4) -92-37=01111111B ,CF=1,SF=0,ZF=0,O F=1

2.13 有一个32K 字节的存储区,首地址是3302:5AC 8H ,写出其首单元和末单元的物理地址。 答案:

首单元的物理地址=38AE8H ,末单元的物理地址=38AE8H+7FFFH=40AE7H

2.15 存储单元地址和内容表示如下,请画出存储单元存放形式。

(1) (1280A)=3456H (2) (20021H)=4DH (3) (33450H)=37A520D1H

2.16 根据逻辑地址计算出物理地址,并解释逻辑地址与物理地址的对应关系。

(1) 2389:3DE9H (2) 1230:EC92H (3) 14D9:C202H 答案:

(1)物理地址=27679H (2) 物理地址=20F92H (3) 物理地址=20F92H

(2)和(3)的物理地址是一样的。说明逻辑地址不唯一,多个逻辑地址可对应到同一个物理单元上。

2.17 给出段地址和偏移地址如下,计算出对应的物理地址。

(CS)=54C3H ,(ES)=2569H ,(DS)=1200H ,(SS)=4422H ,

(BX)=5678H ,(SP)=9945H ,(IP)=0E54H ,(DI)=63B1H 答案:

代码段CS:IP 的物理地址=55A84H 堆栈段SS:SP 的物理地址=4DB65H

数据段DS:BX 的物理地址=17678H 附加段ES:DI 的物理地址=2BA41H

3.2 分别写出与数据有关的7种寻址方式并举例说明。

3.3 已知(BX)=1290H ,(SI)=348AH ,(DI)=2976H ,(BP)=6756H ,(DS)=2E92H ,(ES)=4D82H ,(SS)=2030H ,请指出下列指令的寻址方式,并求出有效地址EA 和物理地址: MOV AX,BX MOV AX,1290H MOV AX,[BX] MOV AX,DS:[1290H] MOV AX,[BP] MOV [DI][BX],AX MOV ES:[SI],AX 查看正确答案

MOV AX,BX 源操作数为寄存器寻址,EA 无,物理地址 无

MOV AX,1290H 立即寻址,EA 无,物理地址 无 MOV AX,[BX] 寄存器间接寻址,EA=1290H, 物理地址=2FBB0H

MOV AX,DS:[1290H] 直接寻址,EA=1290H, 物理地址=2FBB0H

MOV AX,[BP] 寄存器间接寻址,EA=6756H, 物理地址=26A56H

MOV [DI][BX],AX 目的操作数为基址变址寻址,EA=3C 06H, 物理地址=32526H

MOV ES:[SI],AX 寄存器间接寻址,EA=348AH, 物理地址=50CAAH

3.7 请指出下列指令的错误: MOV AX,[CX] MOV AL,1200H MOV AL,BX MOV [SI][DI],AX MOV ES:[DX],CX MOV [AX],VALUE MOV COUNT,[SI] 答案:

MOV AX,[CX] 错。CX不能为间址寄存器

MOV AL,1200H 错。立即数超出8位寄存器范围

MOV AL,BX 错。两个操作数不匹配

MOV [SI][DI],AX 错。两个变址寄存器不能在一起MOV ES:[DX],CX 错。DX不能为间址寄存器

MOV [AX],VALUE 错。AX不能为间址寄存器

MOV COUNT,[SI] 错。两个操作数不能都是存储单元3.9 写出用下列寻址方式将存储单元X中的第3个字取出,AX与其相加再放入Y单元的指令序列。

(1)直接寻址(2)寄存器相对寻址(3)基址变址

答案

(1) ADD AX,[X+4]

MOV Y,AX

(2) MOV BX,4

ADD AX,X[BX]

MOV Y,AX

(3) MOV BX,4

MOV SI,OFFSET X

ADD AX,[BX+SI]

MOV Y,AX

4.9 解释下列伪指令的作用:

(1) ASSUME CS:CODE,DS:DATA (2) END START (3) VALUE DW 12,35,-6 (4) STRING DB ‘INPUT:’(5) MESS DB 5 DUP(?) (6) XX DD 12345678H (7) ORG 0320H (8) CONT EQU 2*3.14

4.10 根据题目,写出相关伪指令:

(1) 定义数据段DATA,并在数据段中定义两个字单元X、Y,初始值都是0

(2) 定义一个字符串SRING,保存’Computer’

(3) 定义有100个字节单元的COUNT数组,初始值均为空

(4) 用赋值伪指令定义PI为3.14

(5) 用类型操作符LABEL将VALUE单元定义为字节型

查看正确答案

(1) DATA SEGMENT

X DW 0

Y DW 0

DATA ENDS

(2) STRING DB ’Computer’

(3) COUNT DB 100 DUP(?)

(4) PI EQU 3.14

(5) VALUE LABEL BYTE

4.11 下列伪指令有错吗?如果有错,请指出错误原因:(1) X1 DB 35H,0,-80 (2) X2 DB 35,260,-1 (3) X 3 DB 1234H (4) X4 DW 100 (5) X5 DW 100(?) (6) X6 DD ‘A B’

查看正确答案

(1)对。(2)错。260超出了字节范围。(3)错。X3是字节型,1234H是字型,不匹配。

(4)对。(5)错。缺少DUP。(6)对。

4.12 写出下列指令的执行结果:

TABLE DB 3,33,33 H

(1) MOV AL,TABLE

(2) MOV AX,WORD PTR TABLE

(3) MOV DX,OFFSET TABLE

(4) MOV CL,TABLE+2

(5) MOV BX,SEG TABLE

(6) MOV BX,TYPE TABLE

(7) LEA DX,TABLE

查看正确答案

(1)AL=3。(2)AX=2103H。(3)DX=TABLE的偏移地址。(4)CL=33H

(5)BX=TABLE的段地址。(6)BX=1。(7)DX= T ABLE的偏移地址。

4.24 编程序。将键盘输入的小写字母变为大写字母显示在屏幕上。

查看正确答案

.model small

.code

start:

mov ah,1 ;键盘输入

int 21h

sub al,20h ;变为大写

mov dl,al

mov ah,2

int 21h

mov ah,4ch

int 21h

end start

4.26 编写程序,建立一个0~9的平方根

表,查表可得某数的平方根。

data segment

x db '0.000','1.000','1.414','1.732','2.000'

db

'2.236','2.449','2.646','2.828','3.000' ;建

立字符表

y db 5 dup(?) ;存放查到平方根

u db 3 ;要查的数

data ends

code segment

相关文档
最新文档