王爽彙編 實驗13編寫int 7cH中斷例程 1

2021-05-23 01:28:11 字數 1517 閱讀 3776

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...