文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言习题答案

汇编语言习题答案

汇编语言习题答案
汇编语言习题答案

第3章8086/8088指令系统与寻址方式习题

3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,

BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。

(1)MOV BX,12 ;目标操作数为寄存器寻址

(2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H

(3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H

(4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H

(5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H

(6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H

(7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H

(8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H

(9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H

3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。

(1)XCHG CS,AX ;错,CS不能参与交换

(2)MOV [BX],[1000] ;错,存储器之不能交换

(3)XCHG BX,IP ;错,IP不能参与交换

(4)PUSH CS

(5)POP CS ;错,不能将数据弹到CS中

(6)IN BX,DX ;输入/输出只能通过AL/AX

(7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元

(8)MOV CS,[1000] ;CS不能作为目标寄存器

(9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址

(10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址

(11)MOV COUNT[BX][SI],ES:AX ;AX是寄存器,不能加段前缀

3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行 PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么?

当前栈顶的地址=2FF00H

当执行PUSH BX 指令后,栈顶地址=2FEFEH

(2FEFEH)=57H

(2FEFFH)=34H

3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。

(1) SHR DX,1 ;DX=3C62H CF=1

(2) SAR DX,CL ;DX=03C6H CF=0

(3) SHL DX,CL ;DX=18A0H CF=1

(4) ROR DX,CL ;DX=2BC6H CF=0

(5) RCL DX,CL ;DX=18B7H CF=1

(6) RCR DH,1 ;DX=BCC5H CF=0;

3.9 设AX=0A69H,VALUE字变量中存放的内容为1927H,写出下列各条指令执行后寄存器和CF、ZF、OF、SF、PF的值。

AX CF ZF OF SF PF

(1)XOR AX,VALUE ; 134EH 0 0 0 0 1

(2)AND AX,VALUE ; 0821H 0 0 0 0 1

(3)SUB AX,VALUE ; F142H 1 0 0 1 1

(4)CMP AX,VALUE ; 0A69H 1 0 0 1 1

(5)NOT AX ; F596H X X X X X

(6)TEST AX,VALUE ; 0A69H 0 0 0 0 1

3.10 设AX和BX中是符号数,CX和DX是无符号数,请分别为下列各项确定CMP和条件转移指令。

(1)CX值超过DX转移。

(2)AX未超过BX转移。

(3)DX为0转移。

(4)CX值等于小于DX转移。

(1) CMP CX,DX

JA NEXT

(2) CMP AX,BX

JLE NEXT

(3) CMP DX,0

JZ NEXT

(4) CMP CX,DX

JBE NEXT

3.11 阅11阅读分析下列指令序列:

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP L5

若AX和BX的初值分别为以下5种情况,则执行该指令序列后,程序将分别转向何处(L1~L5中的一个)。

(1)AX=13C6H, BX=80DCH

(2)AX=0B568H,BX=54B7H

(3)AX=42C8H, BX=608DH

(4)AX=0D023H,BX=9FD0H

(5)AX=9FD0H, BX=0D023H

(1)转L1

(2)转L1

(3)转L2

(4)转L5

(5)转L5

第四章汇编语言程序设计习题

4.5 画出下列语句中的数据在存储器中的存储情况。

VARB DB 34,34H,‘GOOD’,2 DUP(1,2 DUP(0))

VARW DW 5678H,‘CD’,$+2,2 DUP(100)

VARC EQU 12

4.6 按下列要求,写出各数据定义语句。

(1)DB1为10H个重复的字节数据序列:1,2,5个3,4。

(2)DB2为字符串‘STUDENTS’

(3)DB3为十六进制数序列:12H,ABCDH

(4)用等值语句给符号COUNT赋以DB1数据区所占字节数,该语句写在最后。

DB1 DB 16 DUP(1,2,5 DUP(3,4))

DB2 DB ‘STUDENTS’

DB3 DW 12H,0ABCDH

COUNT EQU DB2-DB1

4.8 对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?

PREP DB ?

TABA DW 5 DUP(?)

TABB DB ‘NEXT’

TABC DD 12345678H

(1)MOV AX, TYPE PREP ;AX=1

(2)MOV AX, TYPE TABA ;AX=2

(3)MOV AX, LENGTH TABA ;AX=5

(4)MOV AX, SIZE TABA ;AX=10

(5)MOV AX, LENGTH TABB ;AX=1

(6)MOV DX, SIZE TABC ;AX=4

4.10 若自STRING单元开始存放有一个字符串(以字符‘$’结束);

(1)编程统计该字符串长度(不包含 $ 字符,并假设长度为两字节)。

(2)把字符串长度放在STRING 单元,把整个字符串往下移两个单元。

程序段为:

(1)MOV SI,OFFSET STRING

XOR BX,BX

CONT:MOV AL,[SI]

CMP AL,‘$’

JZ NEXT

INC BX

INC SI

JMP CONT

NEXT: MOV AH,4CH

INT 21H

(2)STRING DB ‘…………. $’

COUNT EQU $-STRING

MOV SI,OFFSET STRING

MOV CX,COUNT

ADD SI,CX

CONT: DEC SI

MOV AL,[SI]

MOV [SI+2],AL]

LOOP CONT

MOV CX,COUNT

MOV STRING,CX

MOV AH,4CH

INT 21H

4.11 将字符串STRING中的‘&’字符用空格代替,字符串STRING“The data is FEB&03”。

程序为:

DATA SEGMENT

STRING DB ‘The data is FEB&03’

COUNT EQU $-STRING

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET STRING

MOV CX,COUNT

MOV AL,‘$’

CONT:CMP AL,[SI]

JNZ NEXT

MOV BYTE PTR[SI],‘’

NEXT:INC SI

LOOP CONT

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.16 键盘输入十个学生的成绩,试编制一个程序统计69~69分,70~79分,80~89分,90~99分及100分的人数,分别存放到S6,S7,S8,S9及S10单元中。

程序为:

DATA SEGMENT

BUF DB 10 DUP(?)

S6 DB ?

S7 DB ?

S8 DB ?

S9 DB ?

S10 DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET S6

XOR AL,AL

MOV CX,0504H

CONT:MOV [SI],AL

INC SI

LOOP CONT

MOV CX,10

MOV SI,OFFSET BUF

CONT1:MOV AH,1

INT 21H

SHL AL,CL

MOV BL,AL

MOV AH,1

INT 21H

SUB AL,30H

OR AL,BL

MOV [SI],AL

CMP AL,70H

JAE NEXT1

INC BYTE PTR S6

NEXT1:CMP AL,80H

JAE NEXT2

INC BYTE PTR S7

NEXT2:CMP AL,90H

JAE NEXT3

INC BYTE PTR S8

NEXT3:CMP AL,99H

JA NEXT4

INC BYTE PTR S9

JMP NEXT5

NEXT4;INC BYTE PTR S10

NEXT5:INC SI

LOOP CONT1

MOV AH,4CH

INT 21H

CODE ENDS

END START

第7章基本输入/输出接口习题

7.4 现有一输入设备,其数据端口地址为FFE0H,状态端口地址为FFE2H,当其D0为1时表明输入数据准备好。试采用查询方式,编程实现从该设备读取100个字节数据并保存到2000H:2000H开始的内存中。

程序段为:

MOV AX,2000H

MOV DS,AX

MOV SI,2000H

MOV CX,100

CONT:MOV DX,0FFE2H

CONT1: IN AL,DX

TEST AL,01

JZ CONT1

MOV DX,0FFE0H

IN AL,DX

MOV [SI],AL

INC SI

LOOP CONT

MOV AH,4CH

INT 21H

7.5 硬件如图7.5所示,试编程实现:S0控制8个发光二极管1亮7暗,S1控制8个 8个发光二极管7亮1暗,S2控制某一亮点(或暗点)以一定时间间隔循环向左移动,S3控制某一亮点(或暗点)以一定时间间隔循环向右移动,两个或两个以上开关闭合,则结束程序。

程序段为:(省略伪指令)

BUF1 DB 01H

BUF2 DB 80H

MOV DX,200H

AGAIN:IN AL,DX

XOR BL,BL

MOV CX,8

CONT:ROR AL,1

JNC NEXT

INC BL

NEXT: LOOP CONT

CMP BL,2

JAE EXIT

CMP AL,0FEH

JZ 1L7A

CMP AL,0FD

JZ 1A7L

CMP AL,0FBH

JZ ZSHL

CMP AL,0F7H

JZ YSHR

1L7A: MOV AL,80H

OUT DX,AL

JMP AGAIN

7A7L:MOV AL,7F

OUT DX,AL

JMP AGAIN

ZSHL:MOV AL,BUF1

ROL AL,1

MOV BUF1,AL

OUT DX,AL

CALL D500MS

JMP AGAIN

YSHR:MOV AL,BUF2

ROR AL,1

MOV BUF1,AL

OUT DX,AL

CALL D500MS

JMP AGAIN

EXIT:MOV AH,4CH

INT 21H

第8章中断习题

8.2 已知中断向量表表中地址0020H ~ 0023H的单元中依次是40H,00H,00H,01H,

并知INT 08H指令本身所在的地址为9000H:00A0H。若SP=0100H,SS=0300H,标志寄存器内容为0240H,试指出在执行INT 08H指令,刚进入它的中断服务程序时,SP,SS,IP,CS和堆栈顶上三个字的内容(用图表示)。

执行后 SS=0300H SP=00FAH

CS=0100H IP=0040H ,堆栈顶上三个字的内容如下所示:

00FCH

执行后:0300H:00FEH

初始: 0300H:01000H

8.3 某一用户中断源的中断类型号为40H,其中断服务程序名为INTR40,请用两种不同的方法设

置它的中断向量。

方法一: MOV AX,0

MOV DS,AX

MOV AX,OFFSET INTR40

MOV [00C0H],AX

MOV AX,SEG INTR40

MOV [00C2H],AX

方法二:MOV AX,0

MOV ES,AX

MOV DI,40H*4

CLD

MOV AX,OFFSET INTR40

STOSW

MOV AX,SEG INTR40

STOSW

8.5 某一8086CPU系统中,采用一片8259A进行中断管理。设8259A工作在全嵌套方式,发送EIO命令结束中断,边沿触发方式,IR0对应的中断向量号为90H,8259A在系统中的端口地址为FFDCH(A0=0)和FFDDH(A0=1),试编写8259A的初始化程序段。

初试化程序段为:

MOV DX,0FFDCH

MOV AL,13H

OUT DX,AL

INC DX

INC DX

MOV AL,90H

OUT DX,AL

MOV AL,01

OUT DX,AL

第9章可编程接口芯片及应用习题

9.1 试按如下要求分别编写初始化程序,已知计数器0 ~ 2和控制字寄存器的端口地址依次为204H ~ 207H。

(1)使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。

(2)使计数器0工作在方式1,按BCD码计数,计数值为3000。

(3)使计数器2工作在方式2,按二进制计数,计数值为02F0H。

初始化程序为:

MOV DX,207H

MOV AL,50H

OUT DX,AL

MOV DX,205H

MOV AL,80H

OUT DX,AL

MOV DX,207H

MOV AL,23H

OUT DX,AL

MOV DX,204H

MOV AL,30H

OUT DX,AL

MOV DX,207H

MOV AL,0B4H

OUT DX,AL

MOV DX,206H

MOV AL,0F0H

OUT DX,AL

MOV AL,02

OUT DX,AL

9.2 硬件如题9.2图,利用PC内部8253定时器0,并用中断方式实现每隔1s使发光二极管亮暗交替显示。(PC 内部8253输入时钟频率为1.1932MHz,8253定时器0端口地址为40H,控制寄存器端口地址为43H。Y0为350H)。

定时器计数值=1.1932MHz÷5=32864=83D5H

软件计数值:50

程序为:(硬件图见教材P345题9.2图)

MOV AL,34H

OUT 43H,AL

MOV AL,0D5H

OUT 40H,AL

MOV AL,83H

OUT 40H,AL

MOV BL,50

T0中断服务程序为:

DEC BL

JNZ EXIT1

MOV BL,50

MOV AL,BUF

NOT AL

MOV BUF,AL

MOV DX,350H

OUT DX,AL

EXIT1:MOV AL,20H

OUT 20H,AL;(设8259A的端口地址为20H,21H)

IRET

9.3 硬件如题 9.3图,8253采用方式0,BCD码计数方式,初始值为1000,每按一次按钮S,计数器值减1。试编程实现显示8253当前计数值,直至计数值为0。8253端口地址范围为80H ~ 83H。

(略。在何处显示---屏幕/LED/液晶?)

9.4 图9.4为一简化的键盘/数码管显示接口电路,假设端口线a’ ~ h’及1、2脚送“1”电平,可使显示点亮并能实现扫描,试问U1、U2及数码显示器的选用。

(1)U1为(同相驱动器 / 反相驱动器)。

(2)U2为(同相驱动器 / 反相驱动器)。

(3)数码显示器为(共阴 / 共阳)数码管。

(4)若A键闭合,则端口线3,4的电平为。

图9.4见教材P346

(1)选用同相驱动器

(2)选用反相驱动器

(3)选用共阴数码管

(4)若A键闭合,则端口线3,4的电平为0,1

9.5 硬件如题 9.5图,试编程实现循环检测S0、S1,当S0按下,数码管显示0,当S1按下,数码管显示1,S0、S1同时按下,则结束程序。8255的端口地址范围为80H83H。

程序为:

MOV AL,82H

OUT 83H,AL

AGAIN:IN AL,81H

TEST AL,03

JZ EXIT

TEST AL,01

JZ NEXT

MOV AL,3FH

OUT 80H,AL

JMP AGAIN

NEXT:TEST AL,02

JZ NEXT1

MOV AL,06

OUT 80H,AL

JMP AGAIN

NEXT1:MOV AL,00

OUT 80H,AL

JMP AGAIN

EXIT: MOV AH,4CH

INT 21H

第10章串行通信习题

10.6 设异步传输时,每个字符对应一个起始位,7个信息位,1个奇偶校验位和一个停止位,如果波特率为9600,每秒能传输的最大字符数为多少个?

字符数=9600位 / 秒÷10位 / 字符=960(字符 / 秒)

10.13 要求8251A工作于异步方式,波特率系数为16,字符长度为7位,奇校验,2个停止位。工作状态要求:复位出错标志,使请求发送信号RTS有效,使数据终端准备好信号DTR有效,发送允许TxEN有效,接受允许RxE有效。设8251A的两个端口地址分别为0C0H和0C2H,试完成初始化编程。

初始化程序为:

MOV AL,11011010B (DAH)

OUT 0C2H,AL

MOV AL,00110111B (37H)

OUT 0C2H,AL

第11章模数、数模转换习题

11.3 某8086系统中,A/D转换器ADC0809只使用一个模拟量输入通道,试设计其接口电路,并编写子程序。子程序的功能是启动A/D转换,并以查询方式读入一个采样数据放在寄存器DL中。

设所设计的A/D转换器接口电路如下:

采样程序为:

CYSUBR PROC

OUT 50H,AL

NOP

NOP

WAIT1:IN AL,51H

TEST AL,01

JZ WAIT1

IN AL,50H

MOV DL,AL

RET

CYSUBR ENDP

11.4 某8086系统中,由ADC0809构成A / D转换器,通过8255与CPU接口,如题11.4图所示。试编写程序,

以查询的方式巡回采样8个模拟量输入通道,每个通道16次。采样数据存放在内存中。

题11.4图

程序段为:

MOV AL,10000001B(81H)

MOV DX,0FFDBH

OUT DX,AL

LOP0: MOV DI,OFFSET BUF

MOV BL,0

LOP1:MOV CX,16

MOV AL,BL

MOV DX,0FFD8

OUT DX,AL

CONT:MOV DX,0FFCAH

MOV AL,0C0H

OUT DX,AL

NOP

NOP

LPO2:IN AL,DX

TEST AL,01

JZ LOP2

DEC DX

IN AL,DX

MOV [DI] ,AL

INC DI

LOOP CONT

INC BL

CMP BL,8

JNZ LOP1

JMP LOP0

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

汇编语言复习题(带答案)

汇编语言复习题(带答案) 汇编语言期末复习题 第1章:基础知识 1、在汇编语言程序的开发过程中使用宏功能的顺序是(C)。DX A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句 中不可省略的项是(B)。DX A、名字项 B、操作项 C、操作数项 D、注释项 3、可屏蔽中断就是它的请求是否被CPU响应要受(IF)的控制。DX 4、使用LINK连接命令,执行后可生成文件的扩展名为(EXE)。DX 5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在段中,段地址 在SS寄存器中。TK 6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号)表示注释 的开始。TK 7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送AH寄存器后执行INT21H。TK 8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。TK 9、CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源。TK 10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的串。TK 11、计算机系统通过接口与外围设备通信。TK 12、键盘I/O、显示I/O和打印I/O分别对应、和号中断。TK 13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节 为显示字符的ASCII码,第二个字节为显示字符的属性。TK 14、简述上机运行汇编语言程序的过程。JD

微机原理与汇编语言复习题及参考答案

微机原理与汇编语言复习题及参考答案 ——CSDN下载频道提供,请尊重原创 一、选择题: 1. 设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A. 51H B. A3H C. 47H D. 0C5H 2. 下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3. 完成对CL寄存器的容乘以4的正确操作是() A.ROL CL,1 B.MUL 4 C.SHL CL,1 D.MOV CL,2 ROL CL,1 SHL CL,1 SHL CL,CL 4. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 5. 假设(AL)= 37H,(BL)= 95H,执行指令IMUL BL后(AX)= () A. 0E903H B. 2003H C. 0DBBH D. 2008H 6. 下面的数据传送指令中,错误的操作是() A. MOV SS:[BX+DI],1000H B. MOV DX,1000H C. MOV WORD PTR[BX],1000H D. MOV DS,2000H 7. CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址C.物理地址D.逻辑地址 8. 某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9. 计算机能直接识别的的语言() A.汇编语言 B.机器语言C.高级语言D.低级语言 10. 下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为()A.直接、立即、间接B.直接、间接、立即 C.立即、直接、间接D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是()A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14. JMP BX的目标地址偏移量是(D)。 A.SI的容B.SI所指向的存字单元之容 C.IP+SI的容D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址B.寄存器寻址MOV AX,BX C.变址寻址AX【BX+DI】(只能用BX,BP;SI和DI) D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的。()

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B )。 A. 汇编程序 B. 连接程序 C. 机器语言程序 D.源代码程序 2. 在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 (C )。 A..SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D. 段地址 4. MOV AX, 3064H,该指令中源操作数采用的寻址方式是(A )。 A.立即 B. 直接 C. 寄存器相对 D. 寄存器间接 5. 换码指令的助记符是(C )。 A. XCHG B. LEAS C.XLAT D. MOV 6. 如果A> B (A、B有符号数)发生转移,应选择的条件转移指令是(JGE )。 7. 下列符号中,可用作标识符的是(C )。 A.MOV B.AX C.MSG1 D.1ABC 8. X DB 10H DUP (1 , 2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9. 当DF=0时,执行串操作指令MOVSB变址寄存器SI、DI的值将(C )。 A.不变 B. 减1 C. 加1 D. 无法确定 10. 如下指令可将AX寄存器内容改变的是(A )。 A. AND AX , BX B . TEST AX , BX C. CMP AX , BX D . XCHG AX , AX 11.16位CPU支持的I/O 地址范围是(D )。 A. 0~0FFFFFH B. 0~0FFFFH C. 0~0FFFH D. 0~0FFH 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

汇编语言试题及答案(1)

一,单项选择题(每小题1分,共20分) 1.指令JMP FAR PTR DONE属于() A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是() A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是() A.12C5BH B.12B6BH C.12C5AH D.12BFEH 4.在下列指令的表示中,不正确的是() A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是() A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为() A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()A.BX或CX B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节

汇编语言习题-测验题答案

汇编语言各章习题、测试题答案 习题一 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数 01110111 00101111 十六进制运算 1A52H+4438H 3967H-2D81H 37H×12H 1250H×4H 将十进制数变为8位补码并做运算(结果用二进制、十六进制、十进制表示) 29+53 73-24 -66+82 -102-15 用压缩BCD码计算(结果用二进制、BCD码、十进制表示) 29+53 73-24 66+18 132+75 符号位扩展(字节扩展为字,字扩展为双字) 20A3H 94H 3456H 7FH EC00H 若机器字长为16位,其无符号数表示范围是多少带符号数表示范围是多少分别用十进制和十六进制表示。 写出下列十六进制数所能代表的数值或编码: (1)38H (2)FFH (3)5AH (4)0DH 将下列十进制数分别转换为二进制、十六进制、二进制补码、压缩BCD码和ASCII码: (1)108 (2)46 (3)-15 (4)254 写出下列算式的8位二进制运算结果,标志位CF、SF、ZF、OF分别是什么值 (1)56+63 (2)83-45 (3)-74+29 (4)-12-37 查表,指出ASCII码0DH、0AH、07H、1BH、20H、60H、50H、70H对应的控制字符。 测验一 单选题: 1.已知X=76,则[X]补= 。 A. 76H B. 4CH 2.已知[X]补=80H,则X= 。 A. 80H B. 0 C. 0FFH D. -80H 3.已知[X]补=98H,则[X]补/2= 。 A. 0CCH C. 49H D. 31H 4.已知X=78,Y=-83,则[X+Y]补= 。 A. 0F5H B. 0A1H C. 0FBH D. 65H 5.将124转换成十六进制数的结果是 A. 7CH B. 7DH C. 7EH D. 7BH 6.将93H看成一个压缩BCD码,其结果是 A. B. C. D. 7. 45转换成二进制数是 A. C. 00101101 D. 8.6CH转换成十进制数是 A. 118 B. 108 C. 48 D. 68 9.将93H扩展为字的结果是 A. FF93H B. 0093H C. 1193H D. 1093H

汇编语言课后习题答案

2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。 (1)mov ax,1200h (2)mov ax,bx (3)mov ax,[1200h] (4)mov ax,[bx] (5)mov ax,[bx+1100h] (6)mov ax,[bx+si] (7)mov ax,[bx][si+1100h] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH ;偏移地址=bx=0100h (4)AX=3412H ;偏移地址=bx=0100h (5)AX=4C2AH ;偏移地址=bx+1100h=1200h (6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h (7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误 (1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov [sp],ax (7)mov ax,bx+di

(8)mov 20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[ SI ] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.5〕已知SS = 2200H、SP = 00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx pop [bx] 〔解答〕 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h

完整版汇编语言试题及答案..doc

一,单项选择题 (每小题 1 分,共 20 分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令 JMP FAR PTR DONE 属于 ( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是 ( A.对两个无符号数进行比较采用CMP 指令 ,对两个有符号数比较用CMP S 指令 B.对两个无符号数进行比较采用CMPS 指令 ,对两个有符号数比较用CM P 指令 C.对无符号数条件转移采用JAE/JNB 指令 ,对有符号数条件转移用JGE/J NL 指令 D.对无符号数条件转移采用JGE/JNL 指令 ,对有符号数条件转移用JAE/J NB 指令 3.一个有 128 个字的数据区 ,它的起始地址为 12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是 ( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中 ,不正确的是 ( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是 ( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令 JNE 的测试条件为 ( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为 ( A.BX 或 CX

汇编语言习题答案

第3章自测练习 一、选择题(四选一) 1.表示一条处理器指令所在存储单元的符号地址是 C。 A 变量 B 常量 C 标号 D 偏移量 2.汇编语言中的变量有多种类型属性,但错误的类型是 B 。 A 字节型byte B 字符型char C 字型word D 双字型dword 3.执行mov bx,seg var指令,BX得到变量var的 B 。 A 物理地址 B 段地址 C 偏移地址 D 内容 语句中,采用 C 分隔标号和指令。 A 逗号 B 分号 C 冒号 D 空格 5.欲设定从偏移地址100H开始安排程序,可使用 A 伪指令。 A org 100h B start=100h C start db 100h D start equ 100h 6.与“mov bx,offset var”指令等效的指令是 D 。 A mov bx,var B 1ds bx,var C les bx,var D 1ea bx,var. 7.下条语句 buf db l0 dup(3 dup(?,10),3,10) 汇编后,变量buf占有的存储单元字节数是 B 。 A 100 B 80 C 40 D 20 8.数据定义语句“numl dw(12 or 6 and 2) ge 0eh”,定义的num1单元的内容是 B。 A 0 B 0FFFFH C 1 D 0FFH 9.要求将A、B两个字符的ASCII码41H和42H顺序存放在连续两个字节存储单元中,可选用的语句是 A 。 A db`AB' B dw `AB' C db 0ABH D dw 0ABH 10.在汇编语言程序中,对END语句叙述正确的是 C 。 A END语句是一可执行语句 B END语句表示程序执行到此结束 C END语句表示源程序到此结束 D END语句在汇编后要产生机器码 11.下面的数据传送指令中,错误的操作是D。 A mov ss:[bx+di],byte ptr 10h B mov dx,l000h C mov word ptr[bx],1000h D mov ds,2000h 12.下面指令执行后,变量dab中的内容是 C 。 daw dw 2A05h dab db 0Fah … mov al,byte ptr daw sub dab,al A 0DAH B 0FAH C 0F5H D 0D0H

汇编语言复习题附带答案.

复习题 一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。多选不给分。。 1.十六进制数 88H ,可表示成下面几种形式,请找出错误的表示(④。 ①无符号十进制数 136 ②带符号十进制数-120 ③它的二进制形式是 10001000B ④ 8位二进制数-8的补码表示 2.存放条件码标志、控制标志和系统标志的寄存器是(④。 ① IP ② SP ③ BP ④ PSW 3. 执行加法运算不能使用的寄存器是 ( ③。 ①、 BP ②、 SI ③、 CS ④、 CL 4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是 (② ①、 AX , BX , CX , DX ②、 BX , BP , SI , DI ③、 SP , IP , BP , DX ④、 CS , DS , ES , SS 4、下列传送指令中有语法错误的是 (①。 ①、 MOV CS, AX ②、 MOV DS, AX ③、 MOV SS, AX ④、 MOV ES, AX 5. ADD AX , BX 指令执行完后 OF=1,下列说法正确的是(③ ①、如果 AX,BX 得内容均是带符号数,那么表示执行结果正确

②、如果 AX,BX 得内容均是无符号数,那么表示执行结果不正确; ③、如果 AX,BX 得内容均是带符号数,那么执行结果表示溢出; ④、如果 AX,BX 得内容均是无符号数,那么执行结果表示溢出; 6.一个有 16字的数据区域,它的起始地址是 70A0:DDF6,那么该数据单元第三个字单元的物理地址为(④ ①、 7E816H ②、 7E814H ③、 7E7F8H ④、 7E7FAH 7、与 MOV BX, OFFSET VAR指令完全等效的指令是 ( ④。 ①、 MOV BX, VAR ②、 LDS BX, VAR ③、 LES BX, VAR ④、 LEA BX, VAR 8.如果 AX=0FFFEH,那么单独执行完 ADD AX , 1, RCR AX , 1 , (AX = (④ ①、 0000H ②、 8000H ③、 0FFFFH ④、 7FFFH 9. MOV AL , 88H TEST AL , 66H 指令执行完后, (AL =(① ①、 88H ②、 66H ③、 0H ④、 0EEH 10、 BUF DW 10H DUP(3 DUP(2, 10H , 3, 5 上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (②。 ① A 、 80H ②、 100H ③、 124 ④、 192 11、下面指令执行后,变量 DAB 中的内容是(③。

汇编语言试题及答案.

一,单项选择题(每小题1分,共20分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令JMP FAR PTR DONE属于( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是( A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中,不正确的是( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( A.BX或CX

B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:( MOV AX,0 MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT 执行后(BX=( A.99

《汇编语言》习题及解答

第1章基础知识 检测点(第9页) (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。 (2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。 (3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。 ~ (4)1GB是24(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。 解题过程: ' (1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=24B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。 (5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

《汇编语言》第二版习题答案(全)

教材:《汇编语言》 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位。 (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 。 (3)1KB的存储器可以存储 8192(2^13)个bit, 1024个Byte。 (4)1GB是 1073741824 (2^30)个Byte、1MB是 1048576(2^20)个Byte、1KB是 1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64 (KB)、 1 (MB)、 16 (MB)、 4 (GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1 (B)、 1 (B)、 2 (B)、 2 (B)、 4 (B)。 (7)从内存中读取1024字节的数据,8086至少要读 512 次,80386至少要读 256 次。 (8)在存储器中,数据和程序以二进制形式存放。 解题过程: (1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。 (5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU最多可以寻找2的N 次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。(8)在存储器中指令和数据没有任何区别,都是二进制信息。 检测点 2.1 (1) 写出每条汇编指令执行后相关寄存器中的值。 mov ax,62627 AX=F4A3H mov ah,31H AX=31A3H mov al,23H AX=3123H add ax,ax AX=6246H mov bx,826CH BX=826CH mov cx,ax CX=6246H mov ax,bx AX=826CH add ax,bx AX=04D8H mov al,bh AX=0482H mov ah,bl AX=6C82H add ah,ah AX=D882H add al,6 AX=D888H add al,al AX=D810H mov ax,cx AX=6246H Microsoft(R) Windows DOS

汇编语言与接口技术 习题解答

习题一解答: 1.3(1)[0.0000]原=0.0000 [0.0000]反=0.0000 [0.0000]补=0.0000 (2)[0.1001]原=0.1001 [0.1001]反=0.1001 [0.1001]补=0.1001 (3)[-1001]原=11001 [-1001]反=10110 [-1001]补=10111 1.4[N]反=1.0101 [N]原=1.1010 [N]补=1.0110 N=-0.1010 1.5(1)原码运算:比较可知,正数较大,用正数减负数,结果为正 反码运算:01010011-00110011=[01010011]反+[-00110011]反=001010011 +[100110011]反=001010011+111001100=000100000 补码运算:01010011-00110011=[01010011]补+[-00110011]补=001010011 +[100110011]补=001010011+111001101=000100000 (2)原码运算:比较可知,负数较大,用负数减正数,结果为负 反码运算:0.100100-0.110010=0.100100+[1.110010]反=0.100100+ 1.001101=1.110001 补码运算:0.100100-0.110010=0.100100+[1.110010]补=0.100100+ 1.001110=1.110010 1.6(1) (11011011)2=(219)10=(001000011001)BCD (2) (456)10=(010*********)BCD (3) (174)8=(124)10=(000100100100)BCD (4) (2DA)16=(730)10=(011100110000)BCD 1.7(1)9876H看成有符号数时,默认为负数的补码,转换为十进制数是:-26506 (2)9876H看成无符号数时,转换为十进制数是:39030 1.8(1)98的压缩BCD码为:10011000B (2)98的非压缩BCD码为:0000100100001000B

汇编语言2008秋季期末考试复习题及参考答案

汇编语言2008秋季期末考试复习题及参考答案 一、填空 1. 十进制数369转换成二进制数为()2,转换成十六进制数为()16. 2. 计算机中的指令由()和(地址码)两部分组成。 3. 8086的地址总线有20根,寻址范围为()字节。 4. 下一条将要执行的指令的地址存放在寄存器()中。 5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。 6. 汇编语言源程序需经过()程序汇编,()程序连接才能生成可执行文件。 7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=() 8. REP指令前缀与()指令配合使用。 9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的()和()命令。 10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令();如果要求第0,1位变反,可使用指令() 11. 宏汇编适合于(),()的子功能段使用; 二、选择题 1. 设字长N=16,有符号数7AE9H的补码表示为( ) A.9EA7H B. 76C4H C. 8417H D. 7AE9H 2. 比较有符号数3260H与0B425H的大小关系为( ) A. 相等 B. 小于 C. 大于 D. 不能比较 3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( ) A.16 d x(DS)+(BX)+(DI)B.16d x(ES)+(BX)+(DI) C.16d x(SS)+(BX)+(DI)D.16d x(CS)+(BX)+(DI) 4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( ) A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址 5. 中断矢量表中存放的是( ) A. 中断类型号 B. 断点地址 C. 中断服务程序 D. 中断服务程序入口地址 6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( ) A. 段内的任何地方 B. 距该指令偏移地址为-32768~+32767的地方 C. 距该指令偏移地址为-128~+127的地方. D. 段外 7. 能定义ASCII码字符串的数据定义语句有( ) A. DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB; 8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1 C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=1 9. 比较指令CMP( ) A. 专用于有符号数比较 B. 专用于无符号数比较 C. 专用于串比较 D. 不区分比较的对象是有符号数还是无符号数 10. 数据传送指令对标志位的影响为( ) A.都不影响;B.都影响; C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响 三、判断题 ( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。

汇编语言习题以及答案

习题 4-4.试编程序将内存从50000H到5FFFFH的每个单元均写入数55H,并再逐个单元读出比较,看写入的与读出的是否一致。若全对,则将AL置0;只要有错,则将AL置0FFH。 解: START:MOV AX,5000H MOV DS,AX MOV SI,0 MOV CX, 0FFFFH LOOP1: MOV BYTE PTR [SI], 55H MOV AL, [SI] CMP AL, 55H … JNZ LOOPERR LOOP2: INC SI LOOP LOOP1 MOV BYTE PTR [SI], 55H ;最后一个单元 MOV AL, [SI] CMP AL, 55H JNZ LOOPERR MOV AL, 0 ;全对 JMP LOOPOUT LOOPERR: MOV AL, 0FFH > LOOPOUT: NOP 4-5.编写一个子程序,对AL中的ASCII字符添加偶校验位(bit7),即:使AL中的“1”的个数为偶数。 解: ADDPARITY PROC NEAR AND AL, 7FH JP ADDEXIT OR AL, 80H

ADDEXIT: RET & ADDPARITY ENDP 4-6.利用上题的子程序,编程对内存物理地址10000H开始的1024个单元的ASCII字符加上偶校验位。 解: START:MOV AX,1000H MOV DS,AX MOV SI,0 MOV CX, 1024 LOOP1: MOV AL, [SI] CALL ADDPARITY [ MOV [SI], AL INC SI LOOP LOOP1 4-7、试写一子程序,完成对一个8位无符号数乘6的操作。要求:(1)只能用传送、加法及移位指令;(2)入口参数(即8位无符号数)放于AL中,出口参数(即乘6后的结果)放于AX。 解: MULTI6 PROC NEAR PUSH BX MOV AH, 0 ] SHL AX, 1 ;乘2 MOV BX, AX SHL AX, 1 ;乘4 ADD AX, BX ;乘6 POP BX RET MULTI6 ENDP 4-8.给定如下程序片段: \ START: MOV AX, 1000H,

汇编语言练习题及习题答案

选择 1、用户为了解决自己的问题,用汇编语言所编写的程序,称为___________。 A 、目标程序B、源程序C、可执行程序D、汇编程序 2、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是___________。 A、ADD BH,01H B、OR BH,01H C、XOR BH,01H D、TEST BH,01H 3、设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1,执行SBB AL,[SI]后,正确的结果是___________。 A、AL=5FH SF=1 CF=1 B、AL=60H SF=1 CF=0 C、AL=5FH SF=0 CF=1 D、AL=60H SF=0 CF=0 4、设AX=1000H NEG AX NOT AX 执行上述指令后,正确的结果是___________。 A、AX=1001H B、AX=0FFFH C、AX=1000H D、AX=0111H 5、CBW指令的功能是___________。 A、把源操作数的符号位扩展到目的操作数中 B、把AL中的符号位扩展到AH中 C、把AH中的符号位扩展到AL中 D、把AX中的符号位扩展到DX中 6、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是 A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、指令AND AX,OFH执行后,分离出AL低四位 D、NOT AX,执行后,将AX清0 7、执行下列指令序列后,正确的结果是___________。 MOV AL,81H ADD AL,AL ADC AL,AL A、AL=05H B、AL=204H C、AL=04H D、AL=205H 4、TEST DL,55H JE NEXT …. NEXT:…… 上述程序段,执行JE指令时能产生转移的情况是。 A、DL>55H B、DL<55H C、DL=55H D、DL中第0、2、4、6位均为0 5、设CL=05H,要获得CL=0AH,可选用的指令是。 A、XOR CL,0FH B、NOT CL C、OR CL,0AH D、AND CL,0FH 填空

汇编语言程序设计试卷及答案AB卷

2010—2011学年度第(1)学期期末考试试卷 科 目:汇编语言程序设计 (A )卷 考试形式:闭卷 考试时间: 120 分钟 系别、班级: 姓名: 学号: 一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。 (A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。 (A) 通用寄存器 (B) 段寄存器(C) 变址寄存器 (D) 控制寄存器 3. 下面有语法错误的指令是 。 (A) ADD AL,AH (B) ADD [BX+3],AL (C) ADD AH,[DI] (D) ADD [BX],DA1(DA1是变量名) 4. 完成对DX 的有符号数除以2的指令是 。 (A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。 (A) CLC (B) CMC (C) STC (D) NOP 6. 设AL=-100,要使AL=100应执行的指令是 。

(A)NEG AL (B)NOT AL (C)INC AL (D)DEC AL 7.在条件转移指令中,结果为负数则转移的指令是。 (A)JNS (B)JZ (C)JS (D)JC 8.下面的XCHG指令中,语法正确的是。 (A)XCHG AL,DS (B)XCHG BH,[BX] (C)XCHG AL,OFH (D)XCHG BUF1,BUF2 9.一条指令中目的操作数不允许使用的寻址方式是。 (A)寄存器寻址(B)立即数寻址 (C)变址寻址(D)直接寻址 10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。 ┇ POPF PUSH BX PUSH BX ┇ (A)2000H (B)2002H (C)1FFCH (D)1FFEH 11.LES SI ,[2000H]指令的全部功能是。 (A)把地址2000H送SI (B)把地址2000H字单元的内容送SI (C)把地址2000H字单元内容送SI,把2002H字单元内容送ES (D)把地址2000H字单元内容送ES,把2002H字单元内容送SI 12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。 (A)AX=0032H (B)AX=00E0H (C)AX=03E0H (D)AX=0FFE0H 13.设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5 个字节单元内容分别是44H,43H,42H,41H。执行REPNZ SCASB指令后,正确的结果是。 (A)DI=0104H,CX=0000H (B)DI=0103H,CX=0001H (C)DI=0102H,CX=0002H (D)DI=0101H,CX=0003H 14.某数据段如下: DATA SEGMENT ORG 20H X DB 12H,'AB'

相关文档
相关文档 最新文档