汇编语言程序设计_2
汇编语言程序设计复习2(带答案)1
汇编语言程序设计练习题2一、单项选择题(答案BDDBA BDADC CCAC CBBDA BDADA BCCB )1、使计算机执行某种操作的命令是( )A.宏指令B.指令C.伪指令D.语句2、某存储单元的物理地址是12345H,可以作为它的段地址有()。
A.2345H B.12345HC.12340H D.1234H3、8088/8086存储器分段,每个段不超过()A.64K个字B.32K个字节C.1兆个字节D.64K个字节4、计算机能直接识别并执行的语言是( )A.汇编语言B.机器语言C.高级语言D.低级语言5. 8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志6、以下各个指令中正确的是()。
A. MOV CS, DXB. MOV DS, BPC. IN 20H,ALD. MOV AH, BX7、下列对OUT指令的叙述正确的是()。
A. 实现从端口中读出数据B. 能直接访问的端口范围是0~1KBC. 能访问的端口为64KBitD. 只能用DX做为间接寻址的寄存器8、已有汇编语句“V AR EQU 1220H”,则语句“mov AX, V AR”中源操作数的寻址方式为()。
A. 立即寻址B. 直接寻址C. 寄存器间接寻址D. 基址寻址9、与MOV BX,OFFSET DATA1指令完全等效的指令是()。
A.MOV BX,DATA1B.LDS BX,DATA1C.LES BX,DATA1D.LEA BX,DATA110、下列指令中段默认为堆栈段的是()A.MOV AX,[BX+SI+10]B.ADD AX,ES:[SI]C.SUB BX,[BP][DI]D. MOV DX,[1000H]11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX 的值为()。
东师《汇编语言程序设计16秋在线作业2
B.正确
正确答案:
18.子程序的类型属性只能为NEAR。
A.错误
B.正确
正确答案:
19. DMA方式又叫做直接存储器存取方式。
A.错误
B.正确
正确答案:
20.高级算法语言是计算机硬件能直接识别和执行的语言。
A.错误
B.正确
正确答案:
汇编语言程序设计16秋在线作业2
一、单选题(共10道试题,共30分。)
东北师范大学东师汇编语言程序设计16秋在线作业2
一、单选题(共10道试题,共30分。)
1.调用一个子程序结束之后需返回应该用()指令。
A. Call
B. iret
C. ret
D. iret or ret
正确答案:
2.在实现CASE结构时,除了用分支结构if—else之外还可以用()
A.跳跃表发
B.循环法
正确答案:
8.指令LOOPNZ退出循环的是()
A. CX=0且ZF=1
B. CX=0且ZF=0
C. CX=0或ZF=1
D. CX=0或ZF=0
正确答案:
9. MOV AX,100[SI][BP]的寻址方式()
A.基址变址寻址
B.变址寻址
C.立即寻址
D.寄存器寻址
正确答案:
10.键盘硬中断的中断向量地址为()
A.错误
B.正确
正确答案:
17. RAM中的信息既能读又能写,断电后其中的信息不会丢失。
A.错误
B.正确
正确答案:
18. DMA方式又叫做直接存储器存取方式。
A.错误
B.正确
正确答案:
19.指令cmp 15,BX指令是正确的。
汇编语言程序设计实验报告二(分支循环程序实验)
汇编语言程序设计实验报告二(分支循环程序实验)一、实验目的1、掌握分支程序、循环程序的设计方法。
2、熟悉DEBUG程序的使用方法。
3、掌握汇编语言程序的编辑、汇编、连接以及调试过程。
二、实验内容1、编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考虑数据块重叠问题)。
2、编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问题)。
三、实验准备1、预习数据传送指令,熟悉分支和循环程序设计方法。
2、预习DEBUG调试程序的使用方法。
3、根据实验内容要求,编写好实验源程序。
四、实验步骤1、用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。
2、汇编、连接源程序,产生.EXE可执行文件。
3、运行程序。
(1) 进入DEBUG。
打入DEBUGT MYPROG.EXE。
MYPROG为所编程序的文件名。
(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。
如果执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,则执行下一步。
(3) 检查程序。
在程序中设置若干断点,以便杳出错误所在。
(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错误之处。
五、实验报告要求1、列出程序清单,并给出程序流程图。
2、总结实现数据传送的几种方法,指出它们的区别。
开始3、分析实验中所遇到的一些问题,分析错误原因。
4、说明本实验中是如何使用DEBUG进行调试的。
CX、SI、DI置初值六、流程图勤开始设置增量方式CX、SI、DI置初值保存SI内容AL [SI] SI SI+源块长度[DI] AL N SI>DIYSI SI+1 恢复SI内容恢复SI内容DI DI+1CX CX-1 设置减量方式N CX=0, SI指向源块末尾DI指向目的块末尾Y结束 [DI] [SI]题一流程图 N 传完了吗, 书馆 Y结束题二流程图七、程序清单题一程序清单:STACK SEGMENT STACK ‘STACK’DB 100 DUP(0)STACK ENDSDATA SEGMENT PARA ‘DATA’SOUR DB 0、1、2、3、4、5、6、7、8、9 DEST DB 10 DUP(,)DB ‘$’DATA ENDSSEGMENT PARA‘CODE’ASSUME CS:CODEMAIN PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV CX,10MOV SI,offset SOURMOV DI, offset DESTAGAIN: MOV AL,[SI]MOV [DI],ALINC SIIN DILOOP AGAINMOV DX,offset DESTMOV AH,09HINT 21HRETMAIN ENDPCODE ENDSEND START题二程序清单:DATA SEGMENT PARA ‘DATA’STRG DB ‘ABCDEFGHIJKLMNOP’STG1 EQU STRG+4STG2 EQU STHG+8STRSE EQU 6DATA ENDSSTACK SEGMENT PARA ‘CODE’DB 100 DUP(0) STACK ENDSCODE SEGMENT PARA ‘CODE’ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,STRSEMOV SI,OFFSET STG1MOV DI,OFFSET STG2CLDPUSH SIADD SI,STRSE-1CMP SI,DIPOP SIJL MOVESTDADD SI,STRSE-1ADD DI,STRSE-1 MOVE: REP MOVSB RETMAIN ENDPCODE ENDSEND START。
2020年中国石油大学北京网络学院 汇编语言程序设计-第二次在线作业 参考答案
中国石油大学北京网络学院
汇编语言程序设计-第二次在线作业
参考答案
1.(
2.5分)下列叙述正确的是:
A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令
B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令
C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令
D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令
我的答案:C 此题得分:2.5分
2.(2.5分)在下列指令的表示中,不正确的是:
A、MOV AL,[BX+SI]
B、JMP SHORT DONING
C、DEC [BX]
D、MUL CL
我的答案:C 此题得分:2.5分
3.(2.5分)在进行二重循环程序设计时,下列描述正确的是:。
IBM-PC汇编语言程序设计答案(第2版)
附录:《IBM—PC汇编语言程序设计》习题参考答案第一章.习题1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=0 1.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。
第二部分 汇编语言程序设计——伪指令
例3.2:数据定义综合应用-2/2
.code .startup mov bl,bvar mov ax,word ptr dvar[0] mov dx,word ptr dvar[2] ;取双字到DX.AX mov dx,offset msg mov ah,09h CALLDOS .exit 0 end
运算符
算术运算符 + - * / MOD 逻辑运算符 AND OR XOR NOT 移位运算符 SHL SHR 关系运算符 EQ NE GT LT GE LE 高低分离符 HIGH LOW HIGHWORD LOWWORD
地址型参数
汇编语言程序中,指令参数还有地址型,
它的主要形式是标号和名字(变量名、段 名、过程名等) 硬指令的操作数有存储单元;存储单元就 应该用地址型参数(存储器操作数)表达
定义字节单元伪指令DB
DB伪指令用于分配一个或多个字节单元, 并可以将它们初始化为指定值 初值表中每个数据一定是字节量 (Byte),存放一个8位数据: 可以是0~255的无符号数 或是-128~+127带符号数 也可以是字符串常数
data X Y data
segment ;数据段 db 'a',-5 db 2 dup(100),? db 'ABC' ends
例3.4:属性及其应用-2/5
.code .startup mov al,byte ptr v_word ;用PTR改变v_word的类型,否则类型不匹配 dec al mov v_byte,al ;对v_word的头一个字节操作,原为32H、现为31H n_label: cmp flag,1 jz s_label ;flag单元为1转移 inc flag jmp n_label ;进行短转移
IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)
MOV BX,X ;X 送到 BX 中
ADD BX,6 ;X+6
ADD AX,BX ;(R+9)+(X+6),结果保存在 AX 中
MOV BX,W ; W 送到 BX 中
SUB BX,AX ; W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和
MOV Z,BX ;最终结果送到 Z 中
IBM-PC 汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章
1.解答:有 256 个 2.解答:如下图.第一个络子为 000B0H 字单元,注意,是字单元,第五个格子为 000B3H 字单元
E5 1E
3C
2A 3.解答: 30022H 字节单元内容: ABH 30024H 字节单元内容: EFH
(2) ADD AL,[BX][SI]
(3) ADD [BX][0B2H], CX
(4) MOV AX,2A59H
ADD [0524H] ,AX
(5) ADD AL ,0B5H
微信:332107782
3.(1)寄存器间接寻址 MOV BX,OFFSET [BLOCK][0AH] MOV DX ,[BX]
(AX)=1234H
LEA AX,TABLE 是把符号地址 TABLE 的有效地址(这里是偏移量)送到指定寄存器 AX
里,指令执行完后,(AX)=0032H
11.执行完指令后,(AX)=1E00H
12. LEA AX,CSTRING
MOV DL,AX
MOV DH,[AX+6]
13.课本上 P51--P53
(12) MOV AX,VAL[BX][SI] 相对基相变址寻址 201F0H
大工14 秋《汇编语言程序设计》在线测试2答案
大工14 秋《汇编语言程序设计》在线测试2
单选题判断题多选题
一、单选题(共10 道试题,共30 分。
)
1. 计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的编码。
目前,微机中普遍采用的是()。
A. BCD 码
B. 二进制码
C. ASCII 码
D. 十六进制码
正确答案:C
2. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。
A. CMP
B. SUB
C. AND
D. MOV
正确答案:D
3. 当程序顺序执行时,每取一条指令语句,IP 指针增加的值是()。
A. 1
B. 2
C. 3
D. 由指令长度决定的
正确答案:D
4. 一个有16 个字的数据区,它的起始地址是70A0H: DDF6,则这个数据区最末一个字单元的物理地址是()。
A. 7E806H
B. 7E814H
C. 7E815H
D. 7E80BH
正确答案:C
5. 若(AX)=2000H,(BX)=0050H,(20050H)=12H,(20051H)=34H,执行MOV AX、[BX]指令后,AX 寄存器中的内容是()。
A. (AX)=0050H
B. (AX)=0012H
C. (AX)=1234H
D. (AX)=3412H
正确答案:D
6. 若AX=349DH,CX=0FH。
则执行指令AND AX,CX 后,AX 的值是()。
A. 349DCH
B. 000DH。
汇编语言程序设计(第二版) 钱晓捷 习题答案
汇编语言程序设计(第二版) 钱晓捷 习题答案第二章(01)2.1(1)AX =1200h(2)AX =0100h(3)AX =4C2Ah(4)AX =3412h(5)AX =4C2Ah(6)AX =7856h7)AX =65B7h ( 2.2(1) 两操作数类型不匹配(2) IP 指令指针禁止用户访问(3) 立即数不允许传给段寄存器(4) 段寄存器之间不允许传送(5) 两操作数类型不匹配(6) 目的操作数应为[ BP ](7) 源操作数应为 [BX+DI](8) 立即数不能作目的操作数2.3lea bx,table ;获取table 的首地址,BX =200Hmov al,8 ;传送欲转换的数字,AL =8xlat ;转换为格雷码,AL =12H2.4堆栈是一种按“先进后出”原则存取数据的存储区域。
堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH 和POP 。
2.5mov ax,8057hpush axmov ax,0f79hpush axpop bx ;bx=0f79hpop [bx] ;DS:[0f79h]=8057h2.6AL=89h CF ZF SF OF PFAL=12h 1 0 0 1 1AL=0afh 0 0 1 0 1AL=0afh 1 0 1 0 1AL=00h 0 1 0 0 1AL=0ffh 0 0 1 0 1AL=00h 0 1 0 0 12.7 W=X+Y+24-Z w w w .k h d a w .c o m 课后答案网2.8(1)ADD DX,BX(2)ADD AL,[BX+SI](3)ADD [BX+0B2H],CX(4)ADD WORD PTR [0520H],3412H(5)ADD AL,0A0H2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=Aimul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,axmov bx,dx ;bx,ax <-- dx,ax =A*Bmov ax,Z ;ax = Ccwd ;dx,ax =C (扩展符号后为双字)add cx,axadc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+Csub cx,540sbb bx,0 ;bx,cx<-- A*B+C-540mov ax, V ;ax= Dcwd ;dx,ax= D (扩展符号后为双字)sub ax, cxsbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540)idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax 存商,dx 存余数2.10;(1)xchg 的操作数不能是立即数(2不能对CS 直接赋值(3)两个操作数不能都是存储单元(4)堆栈的操作数不能是字节量(5)adc 的操作数不能是段寄存器(6)没有确定是字节还是字操作(7)in 不支持超过FFH 的直接寻址(8)out 只能以AL/AX 为源操作数第二章(02)2.11;指令 AX 的值 CF OF SF ZF PF Mov ax,1407h 1470h - - - - - And ax,ax 1470h 0 0 0 0 0 Or ax,ax 1470h 0 0 0 0 0 Xor ax,ax 0 0 0 0 1 1 Not ax 0ffffh - - - - - Test ax,0f0f0h 0ffffh 0 0 1 0 1 注意: 1. mov, not 指令不影响标志位2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。
计算机组成原理与汇编语言程序设计课后习题及解答(详解)
计算机组成原理与汇编语言程序设计课后习题及解答徐洁,俸远祯电子工业出版社第1章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。
即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。
2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。
(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。
(3)数字化的信息可以存储、信息传送也比较容易实现。
(4)可表示的信息类型与范围及其广泛,几乎没有限制。
(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。
3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。
4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。
5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。
(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。
(6)配备的外围设备及其性能。
(7)系统软件配置。
7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。
系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。
例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。
8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。
第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。
解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。
第4章 MCS-51单片机汇编语言程序设计(2)
XCH A,R3 INC A MOVC A,@A+DPTR MOV DPL,A MOV DPH,R3 CLR A JMP @A+DPTR TAB DW DW A0 A1
…………. DW AN
INC
DPTR
MOVX A,@DPTR SUBB A,R7 JNC XCH BIG1 A,R7
BIG0:INC DPTR
实现程序如下: 实现程序如下
START:CLR C : MOV DPTR,#ST1 , MOVX A,@DPTR , MOV R7,A
MOVX @DPTR,A RET BIG1:MOVX A,@DPTR SJMP BIG0
实现程序如下: 实现程序如下 MOV 30H, 20H ANL 30H,#00011111B MOV A,21H SWAP A RL A ANL A,#11100000B ORL 30H,A
第4章 MCS-51单片机汇编语言程序设计
实现程序如下: 实现程序如下 例 A,@R1 ADDC4.3 做3个字节的 无符号的加法. 无符号的加法.设一个加 MOV R0,#52H , MOV @R0,A 数存放在内部RAM 50H、 RAM的 数存放在内部RAM的50H、 MOV R1,#55H , DEC R0 51H、52H单元中 单元中, 51H、52H单元中,另一 DEC R1 RAM的53H、 MOV A,@R0 个加数存放在RAM 个加数存放在RAM的53H、 MOV A,@R0 54H、55H单元中 单元中, 54H、55H单元中,相加 ADD A,@R1 结果存内部RAM的50H、 结果存内部RAM的50H、 RAM ADDC A,@R1 51H、52H单元 单元, 51H、52H单元,均从高 MOV @R0,A 字节开始存放, 字节开始存放,进位存放 MOV 00H,C 在位寻址区的00H位中。 00H位中 在位寻址区的00H位中。 MOV @R0,A DEC DEC R0 R1
汇编语言程序设计2
目录系统认识 (1)实验一数码转换编程及程序调试 (5)实验二运算类编程实验 (11)实验三分支程序、循环程序设计实验 (16)实验四子程序设计实验 (22)实验五显示程序实验 (26)实验六串行通讯应用实验 (27)附录WMD86 联机软件使用说明 (40)系统认识一、实验目的掌握TD-PITE微机原理与接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
二、实验设备PC微机一台,TD-PITE实验装置一套。
三、实验内容编写实验程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。
四、实验步骤1. 运行Wmd86软件,进入Wmd86集成开发环境。
2. 根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,如图1所示。
语言选择后,下次再启动软件,语言环境保持这次的修改不变。
在这里,我们选择汇编语言。
图13. 语言选择后,点击新建或按Ctrl+N组合键来新建一个文档,如图2所示。
默认文件名为Wmd861。
图24. 编写实验程序,如图3所示,并保存,此时系统会提示输入新的文件名,输完后点击保存。
图3程序:SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: PUSH DSXOR AX, AXMOV DS, AXMOV SI, 3000H ;建立数据起始地址MOV CX, 16 ;循环次数AA1: MOV [SI], ALINC SI ;地址自加1INC AL ;数据自加1LOOP AA1AA2: JMP AA2CODE ENDSEND START5. 点击,编译文件,若程序编译无误,则输出如图4所示的输出信息,然后再点击进行链接,链接无误输出如图5所示的输出信息。
图4图56. 连接PC与实验系统的通讯电缆,打开实验系统电源。
汇编语言程序设计(第二版) 沈美明 温冬婵 编著
汇编语言程序设计(第二版)(清华大学IBM-PC 汇编语言程序设计(第二版)沈美明温冬婵编著)第二章1、答:直接由指令指定的I/O端口数为256个。
2、答:3、答:字节单元:(30022H)= AB H,(30024H)= EF H字单元:(30021H)= AB34 H,(30022H)= CDAB H。
4、答:3017:000A的存储单元的物理地址是3017AH,3015:002A的存储单元的物理地址是3017AH,3010:007A的存储单元的物理地址是3017AH。
5、答:该程序的第一个字的物理地址是0AAA40H。
6、答:条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0。
7、答:(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、SP、BP、DI、SI(注意:学生尽量不要用SP参与加减运算)(2)CX(3)DX、AX、AH、AL(4)CS、DS、ES、SS(5)FLAGS(6)IP(7)SS、SP、BP8、答:可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、ES、SS。
9、答:唯一正确的是D。
第三章2、答:(1)ADD DX, BX(2)ADD AL, [BX][SI](3)ADD [BX+0B2H], CX(4)ADD [0524H], 2A59H(5)ADD AL, 0B5H3、答:(1)MOV BX, OFFSET BLOCK + 0AHMOV DX, [BX](2)MOV BX, 0AHMOV DX, BLOCK[BX](3)MOV BX, OFFSET BLOCKMOV SI, 0AHMOV DX, [BX][SI]4、答:(1)1200H(2)0100H(3)4C2AH(4)3412H(5)4C2AH(6)7856H(7)65B7H6、答:MOV BX, 2000HLES DI, [BX]MOV AX, ES : [DI]7、答:(1)064DH(2)0691H(3)05ECH9、答:(1)MOV AX, [ BX+0CH ]MOV ZERO, AX(2)MOV AX, ARRAY[BX]MOV ZERO, AX10、答:(1)(AX)= 1234H(2)(AX)= 0032H11、答:(AX)= 1E00H12、答:LEA BX, CSTRINGMOV DL, [BX]MOV DH, [BX+6]13、答:14、答:LES BX, [2000]MOV AX, ES:[BX]16、答:(1)74D4H SF=0 ZF=0 CF=0 OF=0 (2)A5C1H SF=1 ZF=0 CF=0 OF=1 (3)3240H SF=0 ZF=0 CF=1 OF=0 (4)0000H SF=0 ZF=1 CF=1 OF=0(1)0C754H SF=1 ZF=0 CF=1 OF=0 (2)12B0H SF=0 ZF=0 CF=0 OF=0 (3)45B0H SF=0 ZF=0 CF=0 OF=1 (4)9F24H SF=1 ZF=0 CF=0 OF=021、答:(1)MOV AX, ZSUB AX, XADD AX, WMOV Z, AX(2)MOV BX, XADD BX, 6MOV CX, RADD CX, 9MOV AX, WSUB AX, BXSUB AX, CXMOV Z, AX(3)MOV AX, WIMUL XMOV BX, YADD BX, 6IDIV BXMOV Z, AXMOV R, DX22、答:NEG DXNEG AXSBB DX, 016、答:MOV AX, AMOV DX, A+2TEST DX, 8000HJZ STORE ; 为正NEG DXNEG AXSBB DX, 0STORE : MOV B, AXMOV B+2, DX17、答:(1)MOV AL, SSUB AL, 6DASADD AL, VDAAMOV U, ALMOV AL, ZSUB AL, UDASMOV U, ALMOV AL, XADD AL, WDAASUB AL, UDASMOV U, AL23、答:(1)(BX)= 9AH(2)(BX)= 61H(3)(BX)= 0FBH(4)(BX)= 1CH(5)(BX)= 0(6)(BX)= 0E3H26、答:把(DX)(AX)中的双字左移四位(乘以16)。
汇编语言程序设计(第四版)第2章【课后答案】
汇编语言程序设计第四版【课后习题答案】--囮裑為檤第2章8086的指令系统〔习题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.3〕已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。
汇编语言程序设计教程(第二版)习题参考答案
汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。
科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。
书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。
2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。
电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。
计算机能同时处理二进制信息的位宽定义为计算机的字长。
如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。
4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。
非数值数据如字符、字符串、逻辑值等。
(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。
二进制用B,如10101010B八进制用Q,如437Q。
十进制用D或不用,如54D,或54。
十六进制用H,如27A8H10.完成下列二进制数的加减运算。
(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。
(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。
《80x86汇编语言程序设计》(第2版)习题答案
习题参考答案1第1章1-1汇编的主要功能:输入:汇编语言源文件输出:目标文件处理:对源文件进行语法检查;将符号指令翻译为机器指令。
连接的主要功能:输入:1个或多个目标文件与库文件输出:可执行文件处理:浮动地址的重定位;多模块的连接。
1-2 (1)2EH (2)0D2H (3)0FFH(4)80H (5)7FH (6)0FEH1-3 (1)7FH (2)0FF80H (3)0FFFFH285286(4)0FFD2H (5)8000H (6)0FFH1-4 无符号数范围:0~2n-1;带符号数范围:-2n−1~2n−1-11-5 (1)压缩BCD码:58H;非压缩BCD码:x5x8H。
(2)压缩BCD码:1624H;非压缩BCD码:x1x6x2x4H。
1-6 (1)字符'1'的ASCII码;十进制数31的压缩BCD码;十进制数1的非压缩BCD码;十进制数49的十六进制表示。
(2)十进制数-1的8位二进制补码表示;带符号数255的16位二进制补码表示;无符号数255的8位二进制形式。
(3)十进制数-1的16位二进制补码表示;带符号数65535的32位二进制补码表示;无符号数65535的16位二进制形式。
1-7 (1)作为无符号数为159,等值的16位和32位形式均为9FH;作为带符号数为-97,等值的16位和32位形式分别为0FF9FH与0FFFFFF9FH。
(2)作为无符号数和带符号数均为104,等值的16位和32位形式均为68H。
(3)作为无符号数为192,等值的16位和32位形式均为0C0H;作为带符号数为-64,等值的16位和32位形式分别为0FFC0H与0FFFFFFC0H。
1-8 (1)AND 0FH (2)OR 30H(3)右移4位可得高位的值;将原值AND 0FH可得低位的值。
(4)XOR 00101010B(5)AND 8000H,若结果为0,则是正数,否则为负数。
第2章2-1 系统总线是CPU与内存和I/O子系统之间进行数据交换的通道,包括数据总线、地址总线和控制总线,分别负责在CPU与内存和I/O子系统之间传送数据、地址和控制信息。
汇编语言程序设计第二次作业
首页一.单选题(共40题,40.0分)1AOV网是一种( )。
•A、有向图•B、无向图•C、无向无环图•D、有向无环图正确答案: D 我的答案:D得分: 1.0分2指令“MOV AX,0FH XOR 1111B”执行后的结果是( )。
•A、0FFFFH→AX•B、0FH→AX•C、1111B→ AX•D、0→AX正确答案: D 我的答案:D得分: 1.0分3已知(AL)=35H, (BL)=57H,执行指令ADD AL, BLDAA后,AL的值为()。
•A、92HB、8CHC、92D、CH正确答案: A 我的答案:A得分: 1.0分4设Huffman树的叶子结点数为m,则结点总数为( )。
•A、2m•B、2m-1•C、2m+1•D、m+1正确答案: B 我的答案:B得分: 1.0分5以下程序段中,有数据2000H的字单元的偏移量分别是( )。
ORG 20HVAR1 DB 0,’0’,20H,0,20HDW VAR1•A、03H•B、21H•C、22H•D、23H•E、24H正确答案: D 我的答案:E得分: 0.0分6图所示二叉树结点的前序遍历的序列为( )。
•A、E、G、F、A、C、D、B•B、 E、A、G、C、F、B、D•C、E、A、C、B、D、G、F•D、E、G、A、C、D、F、B正确答案: C 我的答案:C得分: 1.0分7ORG 100HNUM EQU 42HDA1 DW $+56H……MOV BX,0FFSET DA1上述程序段执行后BX中的值是( )。
•A、42H•B、156H•C、100H•D、157H正确答案: C 我的答案:C得分: 1.0分8对线性表进行二分法查找,其前提条件是( )。
•A、线性表以链接方式存储,并且按关键码值排好序•B、线性表以顺序方式存储,并且按关键码值的检索频率排好序•C、线性表以顺序方式存储,并且按关键码值排好序•D、线性表以链接方式存储,并且按关键码值的检索频率排好序正确答案: C 我的答案:A得分: 0.0分9为实现单步操作,即每执行完一条指令就停下来,必须设置标志位( )。
第二章--第四节--汇编语言程序设计方法(二)
A+30HA A(22H) 结束
R0
0010 0000
END
BCD码十进制转换成二进制
例:假如在内部RAM40H单元中存储有一个压缩BCD编码 的两位十进制数,设计一段程序把这个数转换成二进制数 并存入41H单元中。 解题思路: (40H) 16 商为二进制的高四位
余数
余为二进制的低四位
将高四位乘以0AH,再加上低四位即可。
数据排序程序 例:将片内RAM中20H-27H中的数据按照从小到大的顺序重新排列。 解题思路:见下图
RAM地址 原始数据
20H 66H
21H 11H
22H 10H
23H 34H
24H 67H
25H 01H
26H 89H
27H A0H
1
2 3 4 5 6 7
01H
01H 01H 01H 01H 01H 01H
11H
10H 10H 10H 10H 10H 10H
10H
11H 11H 11H 11H 11H 11H
34H
34H 34H 34H 34H 34H 34H
《汇编语言程序设计》作业习题
《汇编语言程序设计》作业习题第1章汇编语言基础知识习题1.1 什么是汇编语言?汇编语言的特点是什么?1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 127 ② 1021 ③ 0.875 ④ 6.251.3把下列二进制数转换成十进制数。
① 1001.11 ② 101011.10011 ③ 111.011 ④ 1011.11.4 把下列八进制数转换成十进制数。
① 573.06 ② 75.23 ③ 431.7 ④ 123.451.5 把下列十六进制数转换成十进制数。
① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D1.6 把下列英文单词转换成ASCII编码的字符串。
① Upper ② Blow ③ Computer ④ What1.7 求下列带符号十进制数的8位基2码补码。
① +127 ②−2 ③−128 ④ +21.8 求下列带符号十进制数的16位基2码补码。
① +628 ②−9 ③−1234 ④ +32491.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
①68+(―53)②68―53 ③68―(―53)④(―68)―531.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?第2章 IBM-PC系统结构习题2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什么?2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?2.3 8086/8088CPU有哪些寄存器?各有什么用途?2.4 8086/8088CPU哪些寄存器可以用来指示存储器地址?2.5标志寄存器中有哪些状态标志和控制标志?它们每一位所表示的含义是什么?2.6有两个16位数3A4BH和10EFH分别存放在2000H和2004H存储单元中,请用图表示出它们在存储器里的存放情况。
2.7一个存储单元的物理地址、段地址、偏移地址三者之间有何关系?2.8在DEBUG程序中,一条指令语句表示为2000:0030 MOV AL,8。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C、存储器间接寻址
D、直接寻址
E、立即数寻址 2、“loop cont”指令可以用两条指令代替,它们是______。
A、inc cx
B、dec cx
C、jz cont D、jnz cont E、jmp cont 3、利用过程定义伪指令设计的子程序,通常包括_______语句。 A、call B、ret C、proc D、endp E、endm 4、子程序的入口参数可以通过_______等传递。 A、中断调用号 B、寄存器 C、变量 D、堆栈 E、立即数 5、过程定义伪指令定义的过程名可能具有_______属性。 A、BYTE B、WORD C、DWORD D、FAR E、NEAR 第三题、判断题(每题 1 分,5 道题共 5 分) 1、在双分支程序段中,两个分支语句之间的 JMP 指令的功能是使第一个分支语句执行完成之后,跳过第二个分支语句。避免误入第二个分支 语句。
A、offset
B、byte ptr
C、word ptr
D、seg
4、语句“xyz db ˊABˊ, ˊCDˊ, ˊEˊ,ˊFˊ”汇编后占用的存储空间是______个字节。
A、4
B、5
C、6
D、8
5、在伪指令语句“number dw 1234h”中的 number 项称为______。
A、标号
B、操作符
正确
错误
5、已知 var 是一个变量,语句“mov si,word ptr var”是一条正确的语句,即无语法错误。
正确
错误
《汇编语言程序设计》第 03 章在线测试 《汇编语言程序设计》第 03 章在线测试
剩余时间:56:05
答题须知:1、本卷满分 20 分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
A、ABDFH
B、FFFFH
C、0001H
D、0000H
第二题、多项选择题(每题 2 分,5 道题共 10 分) 1、下面的 XCHG 指令中,语法不正确的有____。 A、xchg al, ds B、xchg bl, [bx] C、xchg al, 0fh D、xchg buf1, buf2 E、xchg bl,bh 2、下面正确的指令是_____。 A、add al, ah B、add [bx+3], al C、add ah, [di] D、add [ax], bx E、add ax,[dx] 3、8086CPU 的控制标志有______。 A、CF B、TF C、OF D、DF E、SF 4、下列指令中属于 8086 位操作类的指令有_______。 A、TEST B、CMP C、SHR
C、任意 3、某次求和结果最高位为 1,则 SF=_______。
A、0
D、不影响 B、1
C、任意
D、不影响
4、指令_______实现对 AX 当中 D15 和 D0 位设置为 0,其他位不变的功能。
A、and ax,7ffeh
B、or ax,8001h
C、xor ax,8001h
D、not ax
5、设 AX=ABDFH,则在执行指令“AND AX, 0lH”后,AX 寄存器的内容为______。
正确 4、8088 按逻辑段组织程序,需要执行的指令应该在代码段中。
错误
正确
错误
5、使用简化段定义源程序格式,必须具有.model 语句,且位于所有简化段定义语句之前。
正确
错误
《汇编语言程序设计》第 02 章在线测试 《汇编语言程序设计》第 02 章在线测试
剩余时间:58:54
答题须知:1、本卷满分 20 分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
剩余时间:57:53
答题须知:1、本卷满分 20 分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题 1 分,5 道题共 5 分) 1、在一段顺序结构的程序中,不应该出现的指令是______。 A、div
A、seg
B、type
C、offset
D、sizeof
E、lengthof 5、在汇编语言程序定义常量 max 等于 100,正确的表达是______。
A、max = 100
B、max equ 100
C、max db 100
D、max dw 100
E、max org 100 第三题、判断题(每题 1 分,5 道题共 5 分)
汇编语言基础
《汇编语言程序设计》第 01 章在线测试 《汇编语言程序设计》第 01 章在线测试
剩余时间:49:50
答题须知:1、本卷满分 20 分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题 1 分,5 道题共 5 分) 1、一个字节的二进制位数是____位。
D、ABC3
B、生成的代码序列短小 C、运行速度快 D、编程容易 E、便于移植 2、8086 段寄存器有_______ 。 A、IP B、DS C、CS D、ES E、SS 3、使用 MASM 6.x 版本的“ML /Fl eg101.asm”命令,如果源程序 eg101.asm 没有语法错误,则将生成_________文件。 A、目标代码文件 B、可执行文件 C、列表文件 D、调试文件 E、库文件 4、汇编语言中,______可以作为有效的名字,如标号、变量名等。 A、0fffh B、var00 C、loop1 D、test E、add 5、汇编语言中,程序员不能将______作为用户标识符。 A、DS
C、名字 第二题、多项选择题(每题 2 分,5 道题共 10 分)
1、如下________寻址方式的操作数来自主存储器。 A、立即数寻址
D、操作数
B、寄存器寻址
C、直接寻址
D、寄存器相对寻址
E、寄存器间接寻址 2、“mov [bx+10h],al”指令的两个操作数采用的寻址方式有_______。
A、寄存器间接
1、MASM 规定用后缀字母 H 或 h 表达十六进制数据。
正确 2、语句“mov al,ffh”没有语法错。
错误
正确
错误
3、对于常数 41H,在汇编语言中表达成字符’A’也是正确的,因为’A’的 ASCII 码就是 41H。
正确
错误
4、“wvar dw 5 dup(0)”伪指令定义的变量 wvar 占用 10 个字节存储空间。
A、0
B、99
C、100
D、101
5、2 号 DOS 功能调用需要利用 DL 传递字符,这是子程序所谓的_______传递方式。
A、立即数
B、变量
C、寄存器 第二题、多项选择题(每题 2 分,5 道题共 10 分)
1、无条件转移 JMP 指令支持的目标地址寻址方式有___。 A、相对寻址
D、堆栈
B、寄存器间接寻址
第一题、单项选择题(每题 1 分,5 道题共 5 分) 1、假设 V1 和 V2 是用 DW 定义的变量,下列指令中正确的是______。
A、mov V1,20h
B、mov V1,V2
C、mov al,V1 2、某次求和运行结果为 0 时,ZF=_____。
A、0
D、mov 2000h,V2 B、1
D、INC
E、ROL 5、通常指令执行后都会修改目的操作数,但______等指令并不改变目的操作数。 A B C D E
A、TEST
B、ADC
C、AND
D、DEC
E、CMP 第三题、判断题(每题 1 分,5 道题共 5 分)
1、“mov ax,6735h”指令执行后,AL=35H 。
正确 2、“mov ax,6735h”指令执行后,AL=67H 。
B、byte
C、again
D、call
E、SS 第三题、判断题(每题 1 分,5 道题共 5 分)
1、8086 是 Intel 公司的第一个 16 位结构的微处理器芯片。
正确 2、有效地址是指存储器操作数的物理地址。
错误
正确
错误
3、采用汇编语言书写的一个 ASM 源程序文件,需要使用汇编程序,例如 MASM 转换为 OBJ 目标代码文件。
4、汇编语言源程序中,每个语句由 4 项组成,不影响语句功能的是_____。
A、名字项
B、助记符(操作码)
C、操作数 5、下列标号不合法的是_____。
A、WANG
D、注释 B、MOV
C、F4 第二题、多项选择题(每题 2 分,5 道题共 10 分)
1、汇编语言的优点包括_____。 A、直接有效地控制硬件
A、4
B、8
C、16 2、微机中每个存储单元具有一个地址,其中存放一个____量。
A、比特(1 位)
D、32 B、字节(8 位)
C、字(16 位)
D、双字(32 位)
3、设段地址为 5788H,偏移地址为 94H,该字节的物理地址_____。
A、57974H
B、5883H
C、58ECH
D、57914H
正确 2、子程序不能进行嵌套调用。
错误
正确
错误
3、带有出口参数的寄存器,子程序不能在进入时进行保护,在返回主程序前也不能恢复。
正确
Hale Waihona Puke 错误4、进入子程序后,将 AX、BX、CX 和 DX 按顺序压入堆栈,则子程序返回前弹出这些寄存器的顺序是 DX、CX、BX、AX。