assume cs:codesg
codesg segment
start:
mov ax,cs
mov ds,ax ;程式段位址
mov si,offset div_s
mov ax,0
mov es,ax
mov di,0200h ;儲存中斷處理程式的記憶體位址
mov cx,offset div_ok - offset div_s ;得到中斷處理程式的長度
cld ;正向傳送
rep movsb ;安裝中斷例程
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch+2],0000h ;設定中斷向量表
mov ax,4c00h
int 21h
;功能:顯示乙個用0結束的字串
;引數:(dh)=行號,(dl)=列號,(cl)=顏色,ds:si指向字串首位址
div_s: push ax
push es
push si
push bx
push di
push dx
mov dx,0
mov bx,0
mov ax,0
mov al,dh
mov dh,160
mul dh
mov di,ax
mov ax,0
mov al,dl
mov dl,2
mul dl
add di,ax
mov ax,0b800h
mov es,ax
div_s1: mov al,ds:[si]
cmp al,0
je div_s2
mov es:[di+bx],al
mov es:[di+bx+1],cl
inc si
add bx,2
jmp short div_s1
div_s2: pop dx
pop di
pop bx
pop si
pop es
pop ax
iret
div_ok: nop
codesg ends
end start
王爽 組合語言 實驗7
assume cs codesg,ds data ss stack data segment db 1975 1976 1977 1978 1979 1980 1981 1982 db 1983 1984 1985 1986 1987 1988 1989 1990 db 1991 1992 1993...
王爽《組合語言》實驗7
因為實驗7中的資料太多,我就對其縮減了一些。因為其中用到很多的暫存器,但是每個暫存器都有限制規則,所以要精心分配暫存器。最先分配的是兩個段暫存器,data用ds存放,table用es存放。然後要確定迴圈使用的暫存器cx 乙個指向table位址的暫存器bp,乙個指向年份和收入的暫存器di,乙個指向雇員...
《組合語言(第3版)》王爽 實驗13
網上答案很多,但看了大多數與章節知識點不同,乾脆就直接寫了乙個,共大家一起 學習。assume cs code data segment db welcome to masm 0 data ends code segment start 複製 到200h mov ax,cs mov ds,ax mo...