mov dl,bl add dl,48 mov ah,02h int 21h jmp p1
mov dl,string mov ah,02h inc string mov ah,02h
p0:
int 21h p1:
mov dl,0dh int 21h
mov bx,0
; mov dl,0dh ;int 21h
over:
iret
;msg:
;string db 'one second $'
myproc endp
code ends end start
3、VC++中编写内联汇编,将字节数组的每个元素高低四位互换。 char dbyte[] = {0x34,0x45,0x56,0x67,0xaf};
#include
char shu[]={0x34, 0x45, 0x56, 0x67, 0xaf }; using namespace std; int main(){
}
四. 实验结果(包括必要的截图)
1、编写一个宏,求三个数的最小数,原型为:MIN3 x,y,z,min
for (int i = 0; i < 5; i++)
cout<<(int)shu[i]<<\ \cout << endl; _asm{mov esi,0 }
for ( i = 0; i < 5; i++)cout << (int)shu[i] << \cout << endl; return 0;
mov ecx,5 again:
mov dl, shu[esi] mov eax,0 next1: ror dl,1 inc eax cmp eax,4 jne next1 mov shu[esi],dl add esi,1 loop again
2、挂接1CH中断,正计时60秒后退出。要求屏幕显示0-59的秒数。
--按a键后,保留旧时间,重新另起一行开始计时 ;----使用21H 的0BH功能检查按键是否按下
3、VC++中编写内联汇编,将字节数组的每个元素高低四位互换。 char dbyte[] = {0x34,0x45,0x56,0x67,0xaf};
五. 实验体会
在时间计数试验中,按a键如果使用1号功能则会输出一个a。但使用7号功能
则是无回显过滤的字符输入,就不会再有a输出啦