实验1
1.
可见 跳转的位移量为6
s1编号所在的下一条语句为MOV dl [si] 所以cpu直接将程序跳转到 此条语句处
2
可见 跳转的位移量为8
s1编号所在的下一条语句为MOV dx [si] 所以cpu直接将程序跳转到 此条语句处
实验二
1.ax=0021 bx=0026 cx=076c
2实验结果如图,call word ptr ds:[0] 将下一条指令的ip0021压入栈之后 pop ax后ax中的结果应该为0021
call dword ptr ds:[2] 指令将下一条指令的cs:ip压入栈,然后将ip 和cs依次出栈到bx,cx中,故bx-0026 cx=076c
实验三
assume cs:code, ds:data data segment x db 99,72,85,63,89,97,55 len equ $ - x ;len = 7 data ends code segment start: mov ax, data mov ds, ax mov si, 0 mov bl, 0ah mov cx, len s: mov al, [si] mov ah, 0 call printNumber call printSpace inc si loop s jmp exit printNumber: div bl mov dl, ah mov dh, al add dl, 30h mov ah, 2 int 21h mov dl, dh add dl, 30h int 21h ret printSpace: mov dl, ' ' int 21h ret exit: mov ah, 4ch int 21h code ends end start
实验四
assume cs :code data segment str db 'try' len equ $ - str data ends stack segment db 16 dup(0) stack segment stack ends code segment start: mov ax, stack mov ss, ax mov sp, 16;初始化栈 MOV AX,0B800H MOV es,AX ;使用 80x25 彩色字符模式,内存地址 0xB8000 - 0xBFFFFF MOV di,0 mov bl, 02h call printstr mov bl, 0Ch mov bh, 24 mov al, bh mov dl, 0A0h mul dl mov di,ax mov AX,0B800H MOV es,AX call printStr mov ah,4ch int 21h printstr: MOV CX,len mov ax,data mov ds,ax mov si,0 s: mov dx,[si] MOV es:[di],DX ;显示 ASCII 字符 ADD di,1 MOV es:[di],bl ;设置字符显示属性 ADD di,1 inc si LOOP s ret code ends end start
实验五
assume cs:code,ds:data data segment stu_no db '201983290439' len = $ - stu_no data ends code segment start: mov ax,data mov ds,ax mov si,0 mov cx,len mov ax,0B800H mov es,ax mov di,1 mov al, 25 mov dl, 80 mul dl mov cx,ax color: mov al,17h mov es:[di],al add di,2 loop color mov bh, 24 mov al, bh mov dl, 0A0h mul dl mov di,ax mov bh, 24 mov al, bh mov dl, 0A0h mul dl mov di,ax mov AX,0B800H MOV es,AX mov ax,34 mov cx,ax print1: mov ax,'-' mov es:[di],ax mov es:[di+1],17h add di,2 loop print1 mov cx,len print: mov ax,[si] mov es:[di],ax mov es:[di+1],17h inc si add di,2 loop print mov ax,34 mov cx,ax print3: mov ax,'-' mov es:[di],ax mov es:[di+1],17h add di,2 loop print3 mov ah,4ch int 21h code ends end start