汇编作业及参考答案

合集下载

(0413)《汇编语言》网上作业题及答案

(0413)《汇编语言》网上作业题及答案

[0413]《汇编语言》第一次作业[单选题]数据传送指令对标志位的影响为( )A:都不影响B:都影响C:除了SAHF,POPF,其它均不影响D:除了控制标志位,其它均不影响参考答案:D[单选题]比较指令CMP( )A:专用于有符号数比较B:专用于无符号数比较C:专用于串比较D:不区分比较的对象是有符号数还是无符号数参考答案:D[单选题]若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( ) A:SF=0,ZF=0,CF=1,OF=1,PF=0B:SF=1,ZF=0,CF=1,OF=0,PF=1C:SF=0,ZF=0,CF=0,OF=1,PF=0D:SF=1,ZF=0,CF=1,OF=1,PF=1参考答案:C[单选题]能定义ASCII码字符串的数据定义语句有( )A:DB,DW,DD,DQ,DTB:DB,DW,DDC:DB, DWD:DB参考答案:D[单选题]8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( ) A:段内的任何地方B:距该指令偏移地址为-32768~+32767的地方C:距该指令偏移地址为-128~+127的地方D:段外参考答案:A[单选题]中断矢量表中存放的是( )A:中断类型号B:断点地址C:中断服务程序D:中断服务程序入口地址参考答案:D[单选题]在指令 MOV AX,[1000H]中,源操作数的寻址方式为( )A:立即寻址B:直接寻址C:段内间接寻址D:寄存器寻址参考答案:B[单选题]设字长N=16,有符号数7AE9H的补码表示为( )A:9EA7HB:76C4HC:8417HD:7AE9H参考答案:D[单选题]比较有符号数3260H与0B425H的大小关系为( )A:相等B:小于C:大于D:不能比较参考答案:C[单选题]指令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)参考答案:A第二次作业[单选题]使用DOS系统功能调用时,使用的软中断指令是()A:INT 21B:INT 10HC:INT 16HD:INT 21H参考答案:D[单选题]DA1 DW‘AB',‘CD',‘EF',‘GH'() ...... MOV AX,DA1+3 A:‘EF’B:‘CD’C:‘BC’D:‘FC’参考答案:D[单选题]设AL=0AH,下列指令执行后能使AL=05H的是()A:NOT ALB:AND AL,0FHC:XOR AL,0FHD:OR AL,0FH参考答案:C[单选题]在下列串操作指令中,同时使用源串和目的串地址指针的指令是()A:STOSWB:LODSWC:SCASWD:CMPSW参考答案:D[单选题]比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()A:ZF=1B:ZF=0C:SF=1D:SF=0参考答案:A[单选题]下面程序段执行后,AL中的内容是() MOV AX,8833H ADD AL,AH DAA A:21B:21HC:0C1HD:0DDH参考答案:B[单选题]REPZ CMPSW指令,重复执行的终止条件是()A:CX=0或ZF=0B:CX=0且ZF=0C:CX=0或ZF=1D:CX=0且ZF=1参考答案:A[单选题]要实现使BETA的值为56,应采用语句为()A:BETA DB 56B:BETA DB 56HC:BETA EQU 56D:BETA EQU 56H参考答案:C[单选题]汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()A:名字的第一个字符可以是大写英文字母及小写英文字母B:名字的第一个字符可以是字母、数字及、@、_C:名字的有效长度≤31个字符D:在名字中不允许出现$参考答案:B[单选题]检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在"CMP AL,BL”指令后应跟的分支指令是()A:JNC LOP1B:JA LOP1C:JC LOP1D:JGE LOP1参考答案:A第三次作业[单选题]当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()A:JLEB:JNLC:JNLED:JL参考答案:C[单选题]下面的数据传送指令中,错误的操作是()A:MOV SS:[BX+DI],1000HB:MOV DX,1000HC:MOV WORD PTR[BX],1000HD:MOV DS,2000H参考答案:D[单选题]将数据5618H存放在存储单元中的伪指令是( )A:DATA1 DW 1856HB:DATA1 DB 18H,56HC:DATA1 EQU 5618HD:DATA1 DB 18H,00H,56H,00H参考答案:B[单选题]MOV SP,3210H PUSH AX 执行上述指令序列后,SP寄存器的值是( )A:3211HB:320EHC:320FHD:3212H参考答案:B[单选题]为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是( )A:INC CX JZ MINUSB:SUB CX,OFFFFH JZ MINUSC:AND CX,OFFFFH JZ MINUSD:XOR CX,OFFFFH JZ MINUS参考答案:C第四次作业[论述题]将AX寄存器中的16位数分成四组,每组四位,然后把这四组数分别放在AL、BL、CL和DL中。

中南大学《微型机原理与汇编语言》课程作业(在线作业)三及参考答案

中南大学《微型机原理与汇编语言》课程作业(在线作业)三及参考答案

(一) 单选题1.8086/8088的中断系统能够处理多少个不同的中断源()。

(A) 16 (B) 32 (C) 128 (D) 256参考答案:(D)2.执行指令JBOPR,能使程序发生转移的条件为()。

(A)(B)(C)(D)参考答案:(C)3.设,,则执行指令JMPWORD PTR后,寄存器IP中的内容为()。

(A) 0100H (B) 2000H (C) 0080H (D) 0012H参考答案:(C)4.8086/8088的每个中断向量占多少个字节()。

(A) 1 (B) 2 (C) 3 (D) 4参考答案:(D)5.串操作指令以下列哪个寄存器指向源操作数()。

(A) DI (B) SI (C) AX (D) BX参考答案:(B)6.DOS操作系统使用的中断类型号范围是()。

(A) 00H~1FH (B) 20H~3FH (C) 40H~5FH (D) 60H~7FH参考答案:(B)7.指令JNPOPR的转移条件是()。

(A) 状态标志位PF为1 (B) 状态标志位OF为1 (C) 状态标志位PF为0 (D) 状态标志位OF为0参考答案:(B)8.指令CLD的功能是()。

(A) 状态位DF清零(B) 状态位ZF清零(C) 状态位SF清零(D) 状态位CF清零参考答案:(A)9.指令JSOPR的转移条件是()。

(A) 状态标志位SF为1 (B) 状态标志位CF为1 (C) 状态标志位SF为0 (D) 状态标志位CF为0参考答案:(A)10.设,,,,,,则执行指令JMPDWORD PTR后,寄存器IP中的值为()。

(A) 5000H (B) 0080H (C) 3000H (D) 2012H参考答案:(B)(二) 多选题1.汇编语言程序设计中对段定义的伪指令中通常指明段的类型,除了DWORD、WORD和BYTE类型外,还有哪几种类型()。

(A) PUBLIC (B) PAGE (C) COMMON (D) PARA参考答案:(BD)2.常用的循环控制方法有()。

汇编语言(专升本)阶段性作业4

汇编语言(专升本)阶段性作业4

(B) ENDS
(C) END
参考答案:A
(D) ENDM
4. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(4 )
。(4分)
(A) CMP
(B) SUB
(C) AND
(D) MOV
参考答案:D
5. 上面指令执行后,AX的内容是( 5 ) 。(4分)
(A) 0302H
(B) 0203H
参考答案:C
(D) AND AX,00H
15. 下列指令中, 影响或修改标志位的是 (15 )。(3分)
(A) LOOPZ
(B) JNLE
(C) PUSHF
参考答案:D
(D) POPF
16. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(16 )。(3分)
参考答案:B
9. 设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是( 9 )。(4分)
(A) 0036H
(B) 0022H
(C) 0030H
(D) 0020H
参考答案:C
10. 条件转移指令JNBE产生转移的条件是( 10 )。(4分) (A) CF=0 AND ZF=0 (B) CF=0 AND ZF=1 (C) CF=1 AND ZF=0 (D) CF=1 AND ZF=1
(D) SS*16+SP
参考答案:C
13. 物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H中 取一个字的内容是 ( 13 )。(3分)
第1/3页
(A) 1020H 参考答案:B
(B) 3020H

汇编语言(专升本)阶段性作业3

汇编语言(专升本)阶段性作业3
参考答案:A
8. MOV AL,79 ;ADD AL,0B1H上面指令执行后,设置的标志位CF和OF的值是_______。 (4分) (A) CF=0,OF=1 (B) CF=1,OF=1 (C) CF=0,OF=1 (D) CF=1,OF=0
参考答案:D
9. 检查BUF的内容是否为正偶数,如是正偶数,则AL=0,下面程序段正确的是_______。(4分)
参考答案:A
30. 下列指令执行后总是使CF=0,OF=0的是_______。(3分)
(A) AND
(B) NEG
(C) NOT
参考答案:A
(D) INC
第3/3页
(C) 1兆个字节
参考答案:D
(D) 64K个字节
4. CPU发出的访问存储器的地址是_______。(4分)
(A) 物理地址
(B) 偏移地址
(C) 逻辑地址
参考答案:A
(D) 段地址
5. BUF DW 10H DUP(3 DUP(2,10H),3,5)_______。(4分)
(A) 80H
(B) 100H
[2020年春季]
姓名 学号 学习中心 专业 年级 考试时间
汇编语言(专升本)阶段性作业3
总分: 100 分 得分: 0 分
一、单选题
1. 指令JMP FAR PTR DONE属于( 1 )。(4分) (A) 段内转移直接寻址 (B) 段内转移间接寻址 (C) 段间转移直接寻址 (D) 段间转移间接寻址
(A) NUM1=0,NUM2=0 (C) NUM1=0FFH,NUM2=0
(B) NUM1=0,NUM2=0FFH (D) NUM1=0FFH,NUM2=0FFH
参考答案:D

汇编作业与答案

汇编作业与答案

汇编语言作业一一、单项选择题第18题〔1分〕当运算结果的最高位为1时,标志位〔 3 〕。

A. CF=1B. OF=1C. SF=1D. ZF=1第19题〔1分〕8086CPU的寄存器中,通常用作数据寄存器,且隐含用法为I/O端口的间址寄存器的是〔4〕。

A. AXB. BXC. CXD. DX第22题〔1分〕设(21b24H)=39H,(21B25H)=7BH,(21B26H)=51H,(21B27H)=84H.则(21B26H)的字单元内容为〔 4 〕。

A. 517BHB. 397bHC. 7B39HD. 8451H第25题〔1分〕8086/8088的输入/输出指令中,间接寻址外设时,地址总线使用了多少条?可访问端口地址范围为〔3〕。

A. 20条,O000H~0FFFFFHB. 20条,0000H~0FFFFHC. 16条,0000H~FFFFHD. 8条,00H~FFH第28题〔1分〕微型电脑的字长是指〔 1 〕。

A. 电脑一次可以直接处理的二进制位数B. CPU数据总线的宽度C. 一个字节的长度D. CPU地址总线的宽度第31题〔1分〕汇编语言中,存放下一条将要执行的指令地址寄存器是〔 4 〕。

A. SPB. AXC. DID. IP第32 题〔1分〕汇编语言中,cpu和外部设备的信息传送都要通过哪个寄存器〔2〕。

A. BXB. AXC. CXD. DX二、多项选择题〔不考〕三、是非题第1题〔1分〕〔 2 〕当ZF为1时,SF为1。

第2题〔1分〕〔 1 〕8088/8086中,取指令和执行指令可以重叠操作。

第3题〔1分〕〔1〕当DF=0时,串处理从低地址向高地址方向变化。

第4题〔1分〕〔 1 〕当IF=1时,开中断。

四、填空题第7题〔2分〕以下各数均为二进制补码:A=00110010B,B=01001010B,C=11101001B,D=10111010B。

试写出以下运算的十进制数真值和各标志位的值:A+B= 124 ,CF= 0 ,SF= 0 ,ZF=0 ,AF=0 ,PF=0 ,OF=0 .D-C-A= -97 。

计算机组成原理与汇编语言课后习题及作业答案

计算机组成原理与汇编语言课后习题及作业答案

《计算机组成原理与汇编语言》课后习题及作业答案王建东2006年9月第一章习题参考答案1、什么是存储程序工作方式?(P.2.)答:(1) 事先编制程序(2) 实现存储程序(3) 自动、连续地执行程序2、采用数字化方法表示信息有哪些优点?(P.5.)答:(1) 抗干扰能力强,可靠性高(2) 在表示数值时,可以获得很宽的表示范围以及很高的精度。

(3) 数字化的信息可以存储,信息传送也比较容易实现。

(4) 可表示的信息类型与范围及其广泛,几乎没有限制。

(5) 能用逻辑代数等数字逻辑技术进行信息处理,着就形成了计算机硬件设计的基础。

3、如果有7X9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。

0000000000100000101000100010011111001000100100010010001000000004、数字计算机的主要特点是什么?(P.16.)答:(1) 能在程序控制下自动连续地工作(2) 运算速度快(3) 运算精度高(4) 具有很强的信息存储能力(5) 通用性强,应用领域极其广泛5、衡量计算机的基本指标有哪些?(P.17.)答:(1)基本字长(2)数据通路宽度(3)运算速度(4) 主存储器容量(5) 外存容量(6) 配置的外围设备及其性能(7) 系统软件配置6、举出一种实际计算机,列举出各部件、设备的技术性能及常配置的软件?略7、软件系统一般包含哪些部分?列举你熟悉的三种系统软件。

(P.9.)答:系统软件是一组使计算机良好运行而编制的基础软件。

它包括:(1)操作系统如:Windows 2000,Linux,Unix(2)编译程序、解释程序如:C++编译程序,Peal解释程序(3)各种软件平台如:数据库管理系统8、对源程序的处理有哪两种基本方式?(P.11.)答:对源程序的处理有解释和编译两种类型。

解释方式是边解释边执行。

如:BASIC 它的优点是支持人机对话方式的程序设计,可以边执行边修改;所需要的主存空间较小。

《汇编语言程序设计》第1次作业

《汇编语言程序设计》第1次作业

一、单项选择题(只有一个选项正确,共10道小题)1.十进制数-100的8位二进制数的补码为()。

(A) 10011100(B)11100100(C) 11001110(D) 011001002.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

(A) 无符号十进制数136(B) 压缩型BCD码十进制数88(C) 8位二进制数-8的补码表示(D) 带符号十进制数-1203.指令MOV AX,[BX][SI]中源操作数采用的寻址方式是()。

(A) 寄存器(B) 基址变址(C) 寄存器间接(D) 寄存器相对4.下面有语法错误的指令是( )。

(A) ADD [BP+2],DA1(DA1是变量名)(B) ADD [BX+3],AL(C) ADD AL,AH(D) ADD AH,[DI]5.在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是( )(A) 12FAH(B) 1305FH(C) 015FH(D) 130FFH6.下列指令中,执行后,不改变标志位ZF的是()。

(A) AND AL,AL(B) TEST AL,0FFH(C) CMP AL,BL(D) ROR AL,CL7.DATA SEGMENTDA1 DB 32 DUP(?)DA2 DW 1456H,789AHDA3 DW DA2DATA ENDS…MOV BX, DA3上述指令执行后,BX中的内容是( )。

(A) 0031H(B) 0032H(C) 0020H(D) 0021H8.完成将累加器AX清零,下面错误的指令是()。

(A) OR AX,00H(B) AND AX,00H(C) XOR AX,AX(D) SUB AX,AX9.数据段有如下数据定义VAR DB 4 DUP(1,5 DUP(?)),1,2执行指令MOV AL,SIZE VAR后AX寄存器的值是多少()。

(A) 4(B) 1(C) 5(D) 2010.内存中(2000H)=3000H,(3000H)=A01FH,MOV BX,[2000H]MOV AX,[BX]执行上述指令AX的内容是()。

汇编语言第5章作业答案

汇编语言第5章作业答案

习题51.试说明以下指令中各操作数的寻址方式,如果是存储器寻址,请给出其EA计算公式,并说明所使用的段寄存器。

(1)MOV AL,08H 源操作数:立即数寻址目的操作数:寄存器寻址(2)MOV [0120H],BL 源操作数:寄存器寻址目的操作数:直接寻址,EA=0120H,使用DS段寄存器(3)ADD [BX],AL 源操作数:寄存器寻址目的操作数:寄存器间接寻址,EA=(BX),使用DS段寄存器(4)PUSH [SI]0200H 源操作数:变址寻址,EA=(SI)+0200H,使用DS段寄存器目的操作数:隐含寻址(指令中未直接体现)(5)SUB AX,[BP] 源操作数:寄存器间接寻址,EA=(BP),使用SS段寄存器目的操作数:寄存器寻址(6)AND V AR1+4,DL 源操作数:寄存器寻址目的操作数:直接寻址,EA=V AR1+4,使用DS段寄存器(7)PUSHF 源操作数、目的操作数均为隐含寻址(8)MOV ES : [BX]0100H, AL 源操作数:寄存器寻址目的操作数:基址寻址,EA=(BX)+0100H,用ES段寄存器(9)ADC BYTE PTR [BP][SI]0210H,45H源操作数:立即数寻址目的操作数:基址变址寻址,EA=(BP)+(SI)+0210H,使用SS段寄存器(10)OR ARRY[BX][DI],CL源操作数:寄存器寻址目的操作数:基址变址寻址,EA=(BX)+(DI)+ARRY,使用DS段寄存器2.试分析下列汇编指令是否存在语法错误,如果有语法错误存在,请说明是怎样的错误。

(1)PUSH 8243H错误,单操作数指令不能使用立即数(2)POP AL错误,进栈、出栈指令的操作数应为16位(3)MOV AL,6543H错误,源、目的操作数类型不匹配(4)ADD [0100H],64H错误,目的操作数应使用PTR运算符指出类型,否则具有二义性正确的写法:ADD BYTE PTR [0100H],64H,(或使用WORD PTR)(5)ADC V AR1,V AR2错误,8086指令系统的双操作数指令中,必须有一个是寄存器,不能两个操作数同为内存单元(6)MOV DS,ES错误,段寄存器间不能使用MOV指令直接传递数据,必须通过通用寄存器作为中转(7)MOV DS,0620H错误,使用MOV指令向段寄存器传递数据时,不能使用立即数(8)LEA BX,AX错误,L EA指令的源操作数必须为内存单元(9)DEC AL,AH错误,DEC指令为单操作数指令(10)SHR BL,3错误,当移位次数大于1时,在移位指令中特定使用CL寄存器给出移位次数正确的写法:MOV CL, 3SHR BL, CL3.试说明分别执行下列各组指令后,CF、OF、AF、ZF、SF、PF这六个状态标志分别是怎样的取值。

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

作业11.1 将十进制数89转换成8位无符号二进制数。

1.2 将无符号二进制数1001 0010转换成十进制和十六进制。

1.3 将8位二进制数1001 0010和0100 1001分别作为有符号数的原码、反码和补码,将其转换为十进制数。

1.4 将十进制数125和-125分别转换成8位、16位和32位二进制补码。

1.5 用Windows计算器将十进制数4042322160和-252645136分别转换成32位无符号和有符号(补码)二进制数,再将结果转换成十六进制数,并分析结果。

1.6 分别求出二进制数1001 1110和0111 1000的“与”和“或”的结果。

1.7 8086处理器有哪几个16位通用寄存器?1.8 将双字类型数112233H(十六进制)存放在内存地址20000H中,占用哪几个字节单元,它们的地址和数值分别是什么?1.9 8086处理器用于运算的标志有哪几个?名称是什么?1.10 8086处理器分别执行8位二进制数01001010和11000010的加、减后,写出标志位CF、ZF、OF的值。

作业1答案1.1 010110011.2 146和92H1.3 原码:-18和73,反码:-109和73,补码:-110和73。

1.4 8位:0111 1101和1000 0011,16位:0000 0000 0111 1101和1111 1111 1000 0011,32位0000 0000 0000 0000 0000 0000 0111 1101和1111 1111 1111 1111 1111 1111 1000 0011。

1.5 1111 0000 1111 0000 1111 0000 1111 0000,F0F0F0F0H。

1.6 0001 1000和1111 1110。

1.7 AX、BX、CX、DX、SI、DI、BP、SP。

1.8 地址10000H存放33H,地址10001H存放22H,地址10002H存放11H,10003H存放0。

1.9 CF:进位/借位标志、ZF:零标志、SF:符号标志、PF:奇偶标志、OF:溢出标志、AF:半进位标志。

1.10 加运算后:CF=1,ZF=0,OF=0。

减运算后CF=1,ZF=0,OF=1。

作业22.1 8086汇编中的操作数有哪几类?存储器操作数寻址方式有几种?2.2 汇编语句分为指令和伪指令,汇编指令由哪几部分构成?这些部分中哪些部分是不可缺省的?2.3 传送类指令综合练习。

汇编语句片段如下,顺序执行过程中填写右侧寄存器和存储器内容。

MOV SI, 120 ; ①SI = ( )HMOV AX, 0AA70HMOV [SI], AXMOV BX, 3020 ; ②BX = ( )HADD BX, AXMOV [SI+2], BXMOV [SI+4], SI ; ③[SI] = ( )H (6 Byte)PUSH DSLDS CX, [SI+1] ; ④DS = ( )H,CX = ( )HPOP DSLEA AX, [SI+4] ; ⑤AX = ( )HMOV BX, SIMOV AL, 2XLAT ; ⑥AL = ( )H作业2答案2.1 操作数有立即数、寄存器数和存储器数3类。

存储器操作数寻址方式有直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址共5种。

2.2 由标号、操作码、操作数和注释共4部分构成,其中操作码是不可缺省的。

2.3 结果十六进制顺序为①SI=0078H,②BX=0BCCH,③[SI]=70H AAH 3CH B6H78H 00H,④DS=78B6H、CX=3CAAH,⑤AX=007CH,⑥AL=3CH。

作业33.1 8位和16位有符号数所能表示的数据范围的十进制值是多少?3.2 可以作为加、减指令的操作数的寄存器有哪些?3.3 运算指令综合练习。

汇编语句片段如下,顺序执行过程中填写右侧寄存器和标志位内容。

MOV AX, 1240 ; ①AX = ( )HMOV BX, 70HADD AX, BX ; ②AX = ( )H CF = ( ) OF = ( )SUB AX, 1000 ; ③AX = ( )H CF = ( ) OF = ( ) ZF = ( ) OR AX, BX ; ④AX = ( )HNOT AX ; ⑤AX = ( )H CF = ( ) OF = ( )ADD AL, AH ; ⑥AX = ( )H CF = ( ) OF = ( ) PF = ( ) XOR AL, BL ; ⑦AX = ( )H CF = ( ) OF = ( )MOV CL, 4SHL AL, 1 ; ⑧AX = ( )H CF = ( )ROR AL, CL ; ⑨AX = ( )H CF = ( )MUL AH ; ⑩AX = ( )H CF = ( ) OF = ( )作业3答案3.1 8位:-128~+127,16位:-32769~+32767。

3.2 8位寄存器:AL、AH、BL、BH、CL、CH、DL和DH共8个。

16位寄存器:AX、BX、CX、DX、SI、DI、BP和SP共8个。

3.3 按顺序结果为:①AX=04D8H,②AX=0548H、CF=0、OF=0,③AX=0160H、CF=0、OF=0、ZF=0,④AX=0170H,⑤AX=FE8FH、CF=0、OF=0,⑥AX=FE8DH、CF=1、OF=0、PF=1,⑦AX=FEFDH、CF=0、OF=0,⑧AX=FEFAH、CF=1,⑨AX=FEAFH、CF=1,⑩AX=ADA2H、CF=1、OF=1。

作业44.1 分析程序。

以下程序片断执行结束后AX、BX、CX和DX的值各是什么?将LOOP语句更换成LOOPZ后再计算。

MOV AX, 1MOV BX, 2MOV CX, 3MOV DX, 4b001: INC AXADD BX, AXSHL DX, 1LOOP b0014.2 编写汇编程序片段。

AL存放着一个ASCII码,如果是小写字母,将其转换成大写。

4.3 编写汇编程序片段。

假设DS指向一个数据区,在偏移量为0处开始存放一个英文字符串,以“$”字符结束,计算该字符串长度。

4.4 编写汇编程序片段。

通过INT 21H,0AH系统调用输入一个字符串,再通过INT 21H,09号系统调用输出,在DEBUG下验证(代码部分在偏移量100H处,数据存储在偏移量200H处)。

作业4答案4.1 LOOP:AX=4、BX=0BH、CX=0、DX=20HLOOPZ:AX=2、BX=4、CX=2、DX=84.2 CMP AL, 61HJB b002CMP AL, 7AHJA b002SUB AL, 20Hb002: ......4.3 MOV BX, 0MOV CX, 0c001: MOV AL, [BX]CMP AL, 24HJE c002INC BXINC CXJMP c001c002: ......4.4 MOV BX, 0200H ; 定义数据区指针MOV AL, 0FFH ; 数据区第一个字节送255MOV DX, BXMOV [BX], ALMOV AH, 0AH ; 0AH系统调用输入INT 21HMOV AL, [BX+1] ; 实际输入字节数送ALMOV AH, 0ADD BX, AX ; BX指向输入的最后一个字节的下一个单元ADD BX, 2MOV AL, 24H ; 送“$”符号MOV [BX], ALMOV AH, 9 ; 09号系统调用ADD DX, 2 ; DX指向实际的输入字符串首个单元INT 21H作业55.1 写出简化段定义程序框架。

5.2 定义数据区。

定义一个表格,一共100条记录,每一条记录包括5个字段,分别是“编号”(16位无符号数)、“姓名”(长度为20字节字符串)、“地址”(长度为64字节的字符串)、“邮编”(长度为6字节字符串)和“电话”(长度为20字节的字符串)。

5.3 编写完整程序。

连续显示按键的键码和其ASCII码的十六进制值,按ESC键退出。

5.4 编写完整程序(选作)。

通过INT 21H, 0AH系统调用从键盘输入一个字符串(ASCII码,包括英文字母、数字、空客、英文逗号和句号),最长255字节。

将每一句话第一个词首字母变为大写,其余全部为小写。

通过INT 21H,09输出结果。

作业5答案5.1 简化段定义程序框架.MODEL SMALL ; 定义程序模式:小模式.386.STACK ; 堆栈段,默认1024B.DATA ; 数据段开始…; 数据段.CODE ; 代码段开始.STARTUP ; 程序起始点,设定DS, SS…; 代码段.EXIT 0 ; 程序结束点,返回操作系统END ; 汇编结束5.2 采用结构Person表示一条记录信息Person STRUCT ; 结构名:personId WORD 0 ; 编号:字0~65535PName BYTE 20 DUP(0) ; 姓名:20个ASCII码或10个汉字Addr BYTE 64 DUP(0) ; 地址:64字节,32汉字Post BYTE 6 DUP(0) ; 邮编:6位数字Phone BYTE 20 DUP(0) ; 电话:20位ASCII码Person ENDS ; 结束PList Person 100 DUP(〈〉) ; 定义结构数组(表)5.3.MODEL SMALL.STACK.DATAs01 db ' ASCII code = 's02 db ?, ?, 'H', 0dh, 0ah, '$'.CODE.STARTUPkpress: mov ah, 1 ; 等待按键,获取按键的ASCII码int 21hcall tascii ; 转换AL成两位ASCII码,存放在AH和ALmov s02, ah ; 显示准备mov s02+1, almov ah, 9 ; 显示lea dx, s01int 21hcmp word ptr s02, 4231h ; 按键是ESC键吗jne kpress ; 如果不是ESC则转移到开始.EXIT 0tascii PROCmov ah, aland al, 0fhadd al, 30hcmp al, 39hjbe atof1add al, 7atof1: and ah, 0f0hshr ah,1shr ah,1shr ah,1shr ah,1add ah, 30hcmp ah, 39hjbe atof2add ah, 7 atof2: rettascii ENDPEND。

相关文档
最新文档