首页 32位汇编(钱晓捷版)章节习题参考答案

32位汇编(钱晓捷版)章节习题参考答案

举报
开通vip

32位汇编(钱晓捷版)章节习题参考答案习题参考答案 习题1 1、(1) FFH = 1111 1111B = 255D (2) 0H = 0000B = 0D (3) F3E1H = 1111 0011 1110 0001B = 62433D (4) B64AH = 1011 0110 0100 1010B =46666D (5) 2EH = 0010 1110B = 46D (6) 10H =0001 0000B = 16D (7) 1FH = 0001 1111B = 31D (8) AB...

32位汇编(钱晓捷版)章节习题参考答案
习题参考 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 习题1 1、(1) FFH = 1111 1111B = 255D (2) 0H = 0000B = 0D (3) F3E1H = 1111 0011 1110 0001B = 62433D (4) B64AH = 1011 0110 0100 1010B =46666D (5) 2EH = 0010 1110B = 46D (6) 10H =0001 0000B = 16D (7) 1FH = 0001 1111B = 31D (8) ABH = 1010 1011B = 171D 2、(1) 12 = 0001 0010 (2) 24 = 0010 0100 (3) 68 = 0110 1000 (4) 127 = 0001 0010 0111 (5) 128 = 0001 0010 1000 (6) 255 = 0010 0101 0101 (7) 1234 = 0001 0010 0011 0100 (8) 2458 = 0010 0100 0101 1000 3、(1) 10101101B = ADH (2) 1001101001B = 269H (3) 10B = 2H (4) 11110B = 1EH (5) 111110B = 3EH (6) 0101011101B = 15DH (7) 110100101B = 1A5H (8) 10000101B = 85H 4、(1) 10010001 = 91D (2) 10001001 = 89D (3) 00110110 = 36D (4) 10010000 = 90D (5) 00001000 = 8D (6) 10010111 = 97D (7) 10000001 = 81D (8) 00000010 = 2D 5、(1) 0 = [ 0 0000 0000 ]原 = [ 0 0000 0000 ]反 = [ 0 0000 0000 ]补 (2) -127 = [ 1 1111 1111 ]原 = [ 1 0000 0000 ]反 = [ 1 0000 0000 ]补 (3) 127 = [ 0 1111 1111 ]原 = [ 0 1111 1111 ]反 = [ 0 1111 1111 ]补 (4) -57 = [ 1 0011 1001 ]原 = [ 1 1100 0110 ]反 = [ 1 1100 0111 ]补 (5) 126 = [ 0 1111 1110 ]原 = [ 0 1111 1110 ]反 = [0 1111 1110 ]补 (6) -126 = [ 1 1111 1110 ]原 = [ 1 0000 0001 ]反 = [ 1 0000 0010 ]补 (7) -128 = [ 1 0000 0000 ]补,无原码和反码 (8) 11947超出8位二进制 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示范围,无原、反、补码 6、(1) -1 = [ 1 0000 0000 0000 0001 ]原 = [ 1 1111 1111 1111 1110 ]反 = [ 1 1111 1111 1111 1111 ]补 (2) -10 = [ 1 0000 0000 0000 1010 ]原 = [ 1 1111 1111 1111 0101 ]反 = [ 1 1111 1111 1111 0110 ]补 (3) 845 = [ 0 0000 0011 0100 1101 ]原 = [ 0 0000 0011 0100 1101 ]反 = [ 0 0000 0011 0100 1101 ]补 (4) -923 = [ 1 0000 0011 1001 1011 ]原 = [ 1 1111 1100 0110 0100 ]反 = [ 1 1111 1100 0110 0101 ]补 (5) 100 = [ 0 0000 0000 0110 0100 ]原 = [ 0 0000 0000 0110 0100 ]反 = [0 0000 0000 0110 0100 ]补 (6) 15000 = [ 0 0011 1010 1001 1000 ]原 =[ 0 0011 1010 1001 1000 ]反 = [ 0 0011 1010 1001 1000 ]补 7、(1) -1 = [ 1 0000 0000 0000 0000 0000 0000 0000 0001 ]原 = [ 1 1111 1111 1111 1111 1111 1111 1111 1110 ]反 = [ 1 1111 1111 1111 1111 1111 1111 1111 1111 ]补 (2) -10 = [ 1 0000 0000 0000 0000 0000 0000 0000 1010 ]原 = [ 1 1111 1111 1111 1111 1111 1111 1111 0101 ]反 = [ 1 1111 1111 1111 1111 1111 1111 1111 0110 ]补 (3) 23 = [ 0 0000 0000 0000 0000 0000 0000 0001 0111 ]原 = [0 0000 0000 0000 0000 0000 0000 0001 0111 ]反 = [0 0000 0000 0000 0000 0000 0000 0001 0111 ]补 (4) -100 = [ 1 0000 0000 0000 0000 0000 0000 0110 0100 ]原 = [ 1 1111 1111 1111 1111 1111 1111 1001 1011 ]反 = [1 1111 1111 1111 1111 1111 1111 1001 1100 ]补 8、(1) B64AH = 1011 0110 0100 1010B = -13898D (2) F3E1H = 1111 0011 1110 0001B = -29665D (3) 6F20H = 0110 1111 0010 0000B = 28448D (4) 00E1H = 0000 0000 1110 0001B = 225D 9、(1) 1000B64AH = 0001 0000 0000 0000 1011 0110 0100 1010B = 268482122D (2) 98C2417DH = 1001 1000 1100 0010 0100 0001 0111 11O1B = -415383933D (3) FFFFFE03H = 1111 1111 1111 1111 1111 1110 0000 0011B = -2147483139D (4) 0000F3E1H = 0000 0000 0000 0000 1111 0011 1110 0001B = 62433D 10、(1) 1011+1001 = 1100 (进位1) (2) 1011-1001 = 0010 (3) 1011×1001 = 1100011 (4) 1011÷1001 = 10100 (余数100) (5) 1011∧1001 = 1001 (6) 1011∨1001 = 1011 (7) ~1011 = 0100 (8) 1011⊕1001 = 0010 11、答:8位二进制数表示的无符号数范围为0~255,16位数为0~65535,32位数为0~4294967295。 12、答:16位补码表示有符号数的范围为+32782~-32783,32位补码表示的有符号数范围为+2147483647~-2147483648。 13、答:数码0~9的ASCII码为30H~39H,A~Z的ASCII码为41H~5AH,a~z的ASCII码为61H~7AH,。ASCII码0DH对应回车符CR,0AH对应换行符LF。 14、答:01100001为无符号数时代表十进制的97,BCD码的61,ASCII码的小写字母a 15、答:进位是指当二进制运算结果的最高有效位有进位(加法)或借位(减法)时,产生进位。对于n 位二进制数表示的无符号数来说,如果运算结果超出了0~2 n -1的范围,就产生进位或借位。溢出是指处理器内部以补码形式表示有符号数,对于n 位二进制补码表示的有符号数来说,如果运算结果超出了-2n-1~2n-1-1 的范围,就产生溢出。有溢出,说明有符号数的运算结果不正确。二者的区别在于进位表示无符号数运算结果是否超出n 位二进制数表示的无符号数范围,如果超出该范围则产生进位,但运算结果仍然正确;而溢出表示有符号数运算结果是否超出n 位二进制数表示的有符号数范围,如果如果超出该范围则产生溢出,运算结果不正确。 16、(1) 003FH + 02A4H = 0101 0010 1110 1000B = 02E3H,无进位,无溢出 (2) 1B48H + 39E1H = 0101 0101 0010 1001B = 5529H,无进位,无溢出 (3) 6C34H + 5028H = 1011 1100 0101 1100B = BC5CH,无进位,有溢出 (4) 7FFEH + 0002H = 1000 0000 0000 0000B = 8000H,无进位,有溢出 (5) FF07H + 06BDH = 0000 0101 1100 0100B = 05C4H,有进位,无溢出 (6) 2A44H + D9CCH = 0000 0100 0001 0000B = 0410H,有进位,无溢出 (7) FFE3H + FC70H = 1111 1100 0101 0011B = FC53H,有进位,无溢出 (8) FE00H + FD2DH = 1111 1011 0010 1101B = FB2DH,有进位,无溢出 (9) FFF1H + 8005H = 0111 1111 1111 0110B = 7FF6H,有进位,有溢出 (10) 8ADCH + EC78H = 0111 0111 0101 0100B = 7754H,有进位,有溢出 (11) 9E58H - EBBCH = 1011 0010 1001 1100B = B29CH,有借位,无溢出 (12) EBBCH - 9458H = 0101 0111 0110 0100B = 5764H,无借位,有溢出 (13) EBBCH - 791CH = 0111 0010 1010 0000B = 72A0H,无借位,无溢出 (14) 791CH - EBBCH = 1000 1101 0110 0000B = 8D60H,有借位,无溢出 习题2 1、答:IA32-CPU共有8 个32 位通用寄存器:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP,它们分别是16 位CPU 中8 个16 位寄存器的扩展。每一个32 位的通用寄存器的低半部分是一个16 位寄存器: AX、BX、CX、DX、DI、DI、SP、BP,而16 位寄存器AX、BX、CX、DX 又分别分为高低两个8 位寄存器:AH/AL,BH/BL,CH/CL,DH/DL。 32位通用寄存器的作用分别为: EAX——称为累加器,使用频度最高,用于在算术、逻辑运算中保存操作数或中间运算结果,保存与外设交换的信息。 EBX——称为基址寄存器,常用于存放存储器地址,一般是指向DS 段中数据的指针。 ECX——称为计数器,在循环指令和串操作指令中用作隐含计数器。 EDX——I∕O 端口的指针;常用于外设寻址时提供端口地址。 ESI——源变址寄存器,串操作的源操作数指针(DS 段)。 EDI——目的变址寄存器,串操作的目的操作数指针(ES 段);在串指令中,ESI 与DS连用、EDI 与ES 连用,分别寻址数据段和附加段;同时,在串指令中,ESI 和EDI 还都具有自动增量或减量的功能。 EBP——为基址指针寄存器,表示堆栈段中的基地址。 ESP——为堆栈指针寄存器,指示栈顶的偏移地址。 16位寄存器的作用为: AX——16位累加器。 BX——基址寄存器。 CX——计数器。 DX——数据寄存器。 BP——基址指针。 SP——堆栈指针。 SI——源地址寄存器。 DI——目的地址寄存器。 8位寄存器均为数据寄存器。 2、答:标志用于反映指令执行结果或控制指令执行方式。状态标志用来纪录程序执行结果的状态信息,许多指令的执行都将相应地设置状态标志。控制标志用来控制处理器执行指令的方式,可由程序根据需要用指令设置。 状态标志: CF——进位标志(Carry Flag)。当算术运算时,最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则CF = 0。 ZF——零标志(Zero Flag)。若运算结果为0,则ZF = 1,否则ZF = 0。 SF——符号标志(Sign Flag)。运算结果的最高有效位就是符号标志的状态。即运算结果最高位为1,则SF = 1;否则SF = 0。 PF——奇偶标志(Parity Flag)。当运算结果最低字节中“1”的个数为零或偶数时,PF = 1;否则PF = 0。 OF——溢出标志(Overflow Flag)。如果有符号整数运算的结果超出目的操作数表示范围时,则产生溢出,OF = 1;否则OF=0。 AF——辅助进位标志(Auxiliary Carry Flag)。运算时D3 位(低半字节)有进位或借位时,AF = 1;否则AF = 0。 控制标志: DF——方向标志(Direction Flag)。该标志用于串操作指令中,控制地址的变化方向。 系统标志: IF——中断允许标志(Interrupt-enable Flag)。该标志用于控制外部可屏蔽中断是否可以被处理器响应。 TF——陷阱标志(Trap Flag),也常称为单步标志。该标志用于控制处理器是否进入单步操作方式。 NT(D14)——任务嵌套标志(Nested Task)。用来表明当前执行的任务是否嵌套于另一个任务中。 IOPL(D13D12)——I/O 特权级标志位(I/O Privilege Level),共2 位,编码表示4个特权级别,用来指定任务的I/O 操作处于4 个特权级别的哪一级。 VM(D17)——虚拟8086 模式标志(Virtual 8086 Mode)。 RF(D16)——恢复标志(Resume Flag),与调试寄存器一起使用。 AC(D18)——对齐检测标志(Alignment Check)。表明是否在存储器访问时进行数据对齐检测。 VIF(D19)——虚拟中断标志(Virtual Interrupt Flag)。IF 中断允许标志的虚拟影像,与VIP 连用。 VIP(D20)——虚拟中断挂起标志(Virtual Interrupt Pending)。此标志置位指示有一个中断被挂起。 ID(D21)——CPU 识别标志(Identification Flag),表明该微处理器是否支持CPU 识别指令CPUID。 (少EFLAGES的图) 3、答:字和双字在存储器中占据相邻的两个或四个存储单元。存放时,低字节存入低地址,高字节存入高地址,字或双字的地址用它的低地址来表示,这种“低对低,高对高”的存储形式称为“小端方式”。字的对齐地址在偶地址(×××0B),双字的对齐地址在模四地址(能被四整除的地址,即××00B)。使用对齐地址的数据,处理器对他们的访问速度较高。 4、答:每个存储器单元的唯一寻址地址称为该单元的物理地址。在寻址一个具体物理单元时,必须要由一个基地址加上一个偏移量来形成实际的20位物理地址,这种“段地址:偏移地址”的形式称为逻辑地址。 在形成20位逻辑地址时,段寄存器中的16位数自动左移4位,然后与16位偏移量相加,得到20位物理地址。 (1) FFFh:0 = FFF0h (2) 40H:17H = 417H (3) 2000H:4500H = 24500H (4) B821H:4567H = BC777H 5、答:在实模式下,段寄存器中存放的是段基地址,即逻辑段在主存中的起始位置。而在保护模式下,段寄存器中存放的是一个16位的段选择器,其高13位是段描述符索引,用来指示描述符在描述符表中的序号,D2位是描述符表引用指示位TI,最低两位是请求特权级RPL,用于特权检查。 6、答:段选择器用来指明所用段的段描述符等信息。段描述符对应与某个特定的段,其中定义了段基地址、界限和访问类型等段属性。为了便于组织管理,段描述符被组织成线性表的形式,这就是描述符表。三者之间关系密切,在段选择器中存放的是段描述符,而描述符表则是段描述符组成的线性表。 7、答:在实模式和虚拟8086 模式下,IA-32 CPU 用于寻址内存空间的地址线是20 位,所以内存的寻址空间是1MB,地址从00000H-FFFFFH。处理器在1MB 空间中只能执行一个程序,此时存储器管理模型只能采用实地址模型,该模型与16 位CPU 的存储器管理模型兼容。保护模式下,有32 条地址线寻址内存,处理器可以同时执行多个程序,并且为每个程序分配4GB 的内存空间;此时存储器既可以使用分段模型、分页管理,又可以使用段页式管理,还可以使用平展模型。 8、答:数据的默认段是DS,其他段也可以存放数据。当需要将数据放入其他段时,只需要使用段超越前缀明确指明使用的是哪个段即可。 9、答:IA-32CPU的内存空间为4GB。 10、答:程序员对组成外设与系统连接的I/O接口寄存器的编号,形成了I/O地址,通常称其为I/O端口。端口的地址编码有两种方式:独立编址和与存储器统一编址。前者是将外设端口单独编排地址,独立于存储器地址。后者将外设端口与存储器地址统一编排,共享一个地址空间,即外设端口要使用一部分内存空间。此时的处理器不再区分外设和内存的访问。 习题3 1、答:不产生CPU动作的说明性工作,并在程序执行前由汇编程序完成处理的指令称为伪指令,而那些使CPU产生动作并在程序执行时才处理的语句称为硬指令。伪指令通常用来指示会变成程序如何汇编源程序。 2、答:汇编语言中的标识符包括标号和名字。标号出现在执行性语句中,用来反映该指令的逻辑地址。名字出现在说明性语句中,它可以是变量名、段名、子程序名或宏名等,既反映逻辑地址又具有自身的各种属性。标识符一般最多由31个字母、数字及规定的特殊符号组成,不能以数字开头且不能是汇编语言采用的保留字。 3、答:保留字就是在汇编语言中具有特定含义的字符串。汇编语言的保留字(Reserved Word)主要有硬指令助记符、伪指令助记符、运算符、寄存器名以及预定义符号等。例如mov、ds、~等。 4、答:汇编语句分为执行性语句与说明性语句两类。前者由标号、硬指令助记符、操作数和注释组成,后者由名字、伪指令助记符、参数和注释组成。 5、答:汇编程序开发分四个步骤。第一步,源程序编辑,可以使用任意的文本编辑器实现,生成相应的文本文件。如用masm编辑的源程序后缀名为.asm。第二步,源程序汇编,该过程将源程序翻译成由机器代码组成的目标模块文件,masm提供的汇编程序为ml.exe,生成后缀为.obj的文件。第三步,目标文件连接,该过程将一个或多个目标文件和库文件合成一个可执行文件,其后缀通常为.exe。这一过程使用link连接程序完成。第四步,可执行程序的调试,该过程使用debug.exe完成,只是对可执行程序的调试,并不生成新的文件。 6、(1) 变量位于说明性语句中,用来反映逻辑地址,同时自身还具有各种属性,而标号存在于执行性语句中,仅反映逻辑地址。 (2)数值表达式一般是指由运算符连接的各种常数所构成的表达式。地址表达式是指名字、标号以及利用各种操作符形成的表达式。 (3)符号常量就是利用一个标识符表达的数值,字符串常量是用单或双引号括起来的单个或多个字符。 7、(1) byte ‘ABC’, 10, 10h, ‘EF’, 3 dup( -1, ?, 3 dup(4)) 00000000H 41H 00000001H 42H 00000002H 43H 00000003H 0AH 00000004H 10H 00000005H 45H 00000006H 46H 00000007H FFH 00000008H 00H 00000009H 04H 0000000AH 04H 0000000BH 04H 0000000CH FFH 0000000DH 00H 0000000EH 04H 0000000FH 04H 00000010H 04H 00000011H FFH 00000012H 00H 00000013H 04H 00000014H 04H 00000015H 04H (2) word 10h, -5, 3 dup(?) 00000000H 10H 00000001H 00H 00000002H FBH 00000003H FFH 00000004H 00H 00000005H 00H 00000006H 00H 00000007H 00H 00000008H 00H 00000009H 00H 8、(1) my1b DB ‘Personal Computer’ (2) my2b DB 20 (3) my3b DB 20h (4) my4b DB 20B (5) my5w DW 20 dup(?) (6) my6c EQU 100 (7) my7c EQU ‘Personal Computer’ 9、答:标号和变量具有两类属性:① 地址:标号和名字对应存储单元的逻辑地址,包括段地址和偏移地址;② 类型:标号、子程序名的类型可以是NEAR(近)和FAR(远),分别表示段内或段间;变量名的类型可以是BYTE(字节)、WORD(字)和DWORD(双字)等。 10、答:masm定义了TINY(微型模式)、SMALL(小型模式)、COMPACT(紧凑模式)、MEDIUM(中型模式)、LARGE(大型模式)、HUGE(巨型模式)、FLAT(平展模式)这七种存储模式。TINY创建COM程序,SMALL创建EXE程序。 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 32位程序应该使用FLAT模式。 11、答:实模式下的程序结构为: .model small, stdcall ;定义程序的存储模式(一般采用small) .386 ;可选,如果有该语句,可以使用386 指令集 include \masm32\include\io16.inc ;可选,如果在程序中使用作者自定义的宏命令需要这一句 .stack ;定义堆栈段 .data ;定义数据段 …… ;数据定义 .code ;定义代码段 .startup: ;程序起始点 …… ;程序代码 .exit 0 ;程序结束点,返回DOS …… ;子程序代码 end ;汇编结束 保护模式下的程序结构为: .386 ;必须是第一条非注释语句,说明这是一个32 位应用程序 .model flat, stdcall ;定义程序的存储模式(32 位应用程序中必须采用flat) include \masm32\include\io32.inc ;可选,如果在程序中使用作者自定义的宏命令需要这一句 .stack 4096 ;定义堆栈段 .data ;定义数据段 …… ;数据定义 .code ;定义代码段 start: ;程序起始点 …… ;程序代码 ret ;程序结束点,返回Windows …… ;子程序代码 end start ;汇编结束 12、少图 这是个碉堡链接莫点击进入 习题4 1、(1) 1200h (2) 0100h (3) 4C2Ah (4) 3412h (5) 4C2Ah (6) 7856h (7)65 B7h 2、答:控制转移类指令有直接寻址方式、寄存器间接寻址方式和存储器间接寻址方式三种。(书上所指转移地址的寻址方式为四个:段内直接、间接寻址和段间直接、间接寻址) 3、答:短转移、近转移和远转移是以表达转移范围所需的位数来决定的。短转移和近转移都是在一个段内发生的跳转,当转移范围可以用一字节(-128~+127)表达,则形成短转移;地址位移如果用一个16 位或32 位数表达,则形成近转移near jump。而远转移指从当前代码段跳转到另一个代码段,在实模式和保护模式下分别用32位和48位远指针表示远转移地址。 段内转移是指在当前代码段范围内转移,因此不需要更改CS 段地址,只要改变EIP偏移地址。段间转移是指从当前代码段跳转到另一个代码段,此时需要更改CS 段地址和EIP 偏移地址。 4、(1) 21256h (2) 232F7h (3) 264E5h 5、答:操作码说明计算机要执行何种操作。操作数是指令执行的参与者,即操作对象。寻址方式则是寻找操作数的方式。操作数的寻址方式有立即数寻址方式、寄存器寻址方式和存储器寻址方式。 6、答:有效地址即存储器操作数寻址使用的偏移地址,它由位移量、基址、变址和比例因子构成。放在主存中的数据,可以使用直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址、带比例存储器寻址等方式存取。 7、(1) 直接寻址方式,EA=1234H (2) 立即数寻址方式,DX=1234H (3) 寄存器寻址方式,DX=2000H (4) 寄存器间接寻址方式,EA=2000H (5) 寄存器相对寻址方式,EA=3234H (6) 基址变址寻址方式,EA=2040H (7) 相对基址变址寻址方式,EA=3274H (8) 基址的带位移量的比例因子变址寻址方式,EA=00002114H (9) 位移量为0的相对基址变址寻址方式(或者基址变址寻址方式), EA=00002040H 习题5 1、解:.386 .model flat, stdcall Include \masm32\include\io32.inc .stack 4096 .data Prompt1 byte “please input x∈(0~9,A~F):”, 0 LEDtable byte 0c0h, 0f9h, 0a4h, 0b0h, 99h, 92h, 82h, 0f8h byte 80h, 90h, 88h, 83h, 0c6h, 0c1h, 86h, 8eh LEDnum byte ? .code Start: lea ebx, LEDtable writestring prompt1 readchar LEDnum mov al, LEDnum and al, 0fh xlat ;本题主要是用xlat指令实现换码 mov LEDnum, al ret end start 2、解:.386 .model flat, stdcall Include \masm32\include\io32.inc .stack 4096 .data Prompt1 byte “please input chinese:”, 0 Prompt2 byte “please input math:”, 0 Prompt3 byte “please input forign:”, 0 Prompt4 byte “the student’s average score is:”, 0 Score byte 3 dup (?) Avr byte ? .code Start: lea esi, score writestring prompt1 readudecbyte score writecrlf writestring prompt2 readudecbyte score+1 writecrlf writestring prompt3 readudecbyte score+2 writecrlf mov al, [esi] inc esi add al, [esi] inc esi add al, [esi] mov cl, 3 mov ah, 0 adc ah, 0 div cl mov avr, al writestring prompt4 writeudecbyte avr ret end start 4、(1)ADD EDX, EBX (2)ADD AL, [EBX+ESI] (3)ADD [EBX+0B2H], ECX (4)MOV EBX, 04004000H ADD WORD PTR [EBX], 3412H (5)ADD AL, 0A0H 5、答:AL值与CF、ZF、SF、OF、PF的状态如下表所示 指令 AL 值 CF ZF SF OF PF mov al, 89h 89H 0 0 0 0 0 add al, al 12H 1 0 0 0 1 add al, 9dh 0afH 0 0 1 0 1 sub al, al 00H 0 1 0 0 1 dec al 0ffH 0 0 1 0 1 inc al 00H 0 1 0 0 1 6、答:(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ EBP ] (7) 源操作数应为 [EBX+EDI] (8) 立即数不能作目的操作数 (9) movzx指令的源操作数不能是立即数 (10) 未指明操作类型 (11) 两操作数类型不匹配 (12) 立即数不能作目的操作数 (13) 不允许两个操作数都是内存单元 (14) 第二个操作数必须为通用寄存器,且必须和第一个操作数位数相同。 9.解:.386 .model flat, stdcall Include \MASM32\INCLUDE\io32.INC .stack 4096 .data Prompt1 byte “please input x:”, 0 Prompt2 byte “please input y:”, 0 Prompt3 byte “please input z:”, 0 Prompt4 byte “m value is:”, 0 .code Start: Writestring prompt1 Readsdecdword ebx Imul ebx, 5 ;ebx<-ebx×5 Writestring prompt2 Readsdecdword eax Neg eax ;eax<- -eax Writestring prompt3 Readsdecdword esi cdq ;eax扩展到edx.eax Idiv esi ;计算-y/z商送到eax,余数送到edx Mov eax, ebx ;5x送到eax Mov ebx, edx ;扩展时是会用到edx,提前把-y mod x由edx送到ebx cdq Idiv ebx writecrlf Writestring prompt4 Writesdecdword eax Ret End start 10、答: 指令 值 CF ZF SF OF PF (1) and eax, ebs 8400H 0 0 0 0 1 (2) xor eax, 0ff00h 3AFFH 0 0 0 0 1 (3) or eax, 0ff00h 0FFFFH 0 0 0 0 1 (4) shl eax, 4 000C5FF0H 0 0 0 X 1 (5) sar ebx, 4 000009E0H 0 0 0 X 0 (6) ror ebx, 16 9E000000H 1 0 1 X 1 (7) bt ebx, 8 00009E00H 0 X X X X (8) bsf ecx, ebx 00000009H X 0 X X X 11、答:(1) not al (2) or ebx, 0000000fh (3) and ebx, 0fffffff0h (4) xor ecx, 0000000fh (5) mov bx, ax shl bx, 1 shl bx, 1 add bx, ax 12、答:.386 .model flat, stdcall Include io32.h .stack 4096 .data value1 dword ? value2 dword ? value3 dword ? .code Start: Xor ebx, ebx Shld value1, eax, 7 Shrd value3, eax, 10 Shld eax, ebx, 7 Shld value2, eax,, 15 Ret End start
本文档为【32位汇编(钱晓捷版)章节习题参考答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_423217
暂无简介~
格式:doc
大小:146KB
软件:Word
页数:15
分类:工学
上传时间:2013-11-10
浏览量:205