1 / 15

习题课

习题课. —— 数据处理部分. 1 选择题. 1. 十进制数运算调整指令 AAS 可以紧跟在()之后 : A.SBB B.DEC C.CMP D.NEG 2. 在多字节加减运算时,特别要注意标志( B )对运算的影响 : A. AF B.CF C. SF D.OF 3. 设 VAR 是数据段中定义的字节变量,指令 MUL VAR 乘积存放在() A. AX B.BX C. CX D.DX. 4. 执行下面指令序列后,结果是() MOV AL , 82H CBW A.AX=0FF82H B.AX=8082H

efia
Download Presentation

习题课

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 习题课 ——数据处理部分

  2. 1 选择题 1.十进制数运算调整指令AAS可以紧跟在()之后: A.SBBB.DEC C.CMPD.NEG 2. 在多字节加减运算时,特别要注意标志(B)对运算的影响: A. AFB.CF C. SFD.OF 3.设VAR是数据段中定义的字节变量,指令MUL VAR乘积存放在() A. AXB.BX C. CXD.DX

  3. 4.执行下面指令序列后,结果是() MOV AL,82H CBW A.AX=0FF82HB.AX=8082H C.AX=0082HD.AX=0F82H 5.在串指令REPMOVSB中,重复次数一定放在()寄存器中。 A.AXB.BX C.CXD.DX 6.下面指令中,合理而有意义的指令是() A.REP LODSBB.REP SCASB C.REP CMPSBD.REP MOVSB

  4. 7.串操作指令中,目标串操作数的段地址一定在(D)寄存器中。7.串操作指令中,目标串操作数的段地址一定在(D)寄存器中。 A.CSB.SS C.DSD.ES 8.在程序状态字寄存器中,当方向标志DF位为0时,每次操作后使变址寄存器SI和DI(B) A.减量        B.增量 C.保持不变      D.地址减1

  5. 2 判断题 1.所有串操作指令的目标串的段地址均取自于段寄存器DS。() 2.串操作指令一般用CX存放长度。() 3.指令AAA必须紧跟在加法指令之后使用。()

  6. 现有下列数据段: DATA SEGMENT S1 DB ‘ABCDEFGHIJKL’ COUNT EQU $-S1 BUF DB COUNT DUP(0) DATA ENDS  下面程序段是实现把S1中所有字符逆向传送到BUF缓冲区(即S1中第一个字符送到BUF的最后一个单元,S1中最后一个字符送到BUF的第一个单元)。试把程序中所空缺的2条指令填上。 MOV SI,OFFSET BUF-1 MOV DI,OFFSET BUF MOV CX,COUNT   (1)________________ L1: MOVSB   (2)________________ LOOP L1  参考答案:   (1)CLD   (2)SUB SI,2   或   (1)STD (2)ADD DI,2

  7. 1.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。(要求用字符串指令)参考答案:1.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。(要求用字符串指令)参考答案: DATA SEGMENT PATTERN DB 23H,24H,25H,26H DISPLAY DB 80 DUP(‘’),‘$’ DATE ENDS

  8. CODE SEGMENT      ┇ CLD LEA SI,PATTERN LEA DI,DISPLAY MOV CX,80 REP MOVSB MOV AH,09H LEA DX,DISPLAY INT 21H RET CODE ENDS

  9. 编写一程序段,计算x2+y-5多项式的值。  说明:多项式存于AX中,x, y是无符号数。  数据说明:x DB 0CH y DB 06H 答案: MOV AL,x MUL x ADD AL,y ADC AH,0 SUB AX,5

  10. 设X,Y,Z,W存放16位带符号数,编程计算X*Y-Z的值并送到W设X,Y,Z,W存放16位带符号数,编程计算X*Y-Z的值并送到W   要求:写出有关指令语句。 参考答案: MOV AX,X IMUL Y SUB AX,Z SBB DX,0 MOV W,AX

  11. 1.已知(AL)=0FFH, (BL)=10H。执行MUL BL则 (AH)=()   (AL)=() 2.执行下列指令语句,把执行结果填在空格中。   已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)=0A1H,(50103H)=14H   先执行MOV AX,[100H] 则(AX)=( );   再执行ADD AX,[BX+DI] 则(AX)=(),CF=(),OF=()

  12. 试编制一个计算无符号数X的Y次幂的程序。 • p123

  13. 表的插入和删除 • 什么是表? • 例1:在一个字符串STRING的某个位置插入一个字符。 DATA SEGMENT STRING DB ‘abcdedfghij', 5 DUP(0) COUNT EQU $ - STRING DATA SEGMENT • 例2:在一个字符串STRING的某个位置删除一个字符。

  14. 表的查找和排序 例1:冒泡排序的实现 例2:折半查找的实现 大家思考,参考p148

  15. 代码转换 • 例1:-

More Related