.4 ?已知 var1 、var2 、var3 和var4 是32 位无符号整数,用汇编语言程序片段实现如下 C++ 语句: var4=(var1 *6)/( var2-7)+var3 mov eax,var1 mov ebx,6 mul ebx ; var1 *6mov ebx,var2 sub ebx,7 ; var2-7 div ebx ; (var1 *6)/( var2-7) add eax,var3 ; (var1 *6)/( var2-7)+var3 mov var4,eax 9 习题解答习题 4.7?定义 COUNT (假设为 10 )个元素的 32 位数组,输入元素编号( 0~COUNT-1 ),利用 DISPHD 子程序输出其地址、利用 DISPSID 子程序输出其值。;数据段 count = 10 array dword 0,1,2,3,4,5,6,7,8,9 ;代码段 call readuid ;输入 N,小于 10 lea eax,array[eax *4];EAX =地址 call disphd ;显示地址 mov eax,array[eax *4];EAX =变量值 call dispsid ;显示数值 10 习题解答习题 4.15-1 ? IA-32 处理器的指令 CDQ 将EAX 符号扩展到 EDX 。假若没有该指令,编程实现该指令功能。(1 )按照符号扩展的含义编程,即: EAX 最高为 0 ,则 EDX =0;EAX 最高为 1,则 EDX =FFFFFFFFH 。 test eax,8000h ;测试最高位 jz next1 ;最高位为 0,转移 mov edx,0ffffffffh ;最高位为 1,设置 EDX =FFFFFFFFH jmp done ;跳过另一个分支 next1: mov dx,0 ;设置 EDX =0 done: