王爽《組合語言》第三版-實驗9 根據材料程式設計
阿新 • • 發佈:2018-12-22
assume cs:code,ds:data data segment ;在資料段定義字串 db 'Welcome to masm!' data ends code segment start: mov ax,data mov ds,ax mov ax,0b800h mov es,ax ;使用ds和es暫存器作為段暫存器 mov si,0 mov bx,0 mov bp,07b0h ;由計算出的字串所在位置給bp賦值 mov cx,16 ;16個字元資料故loop16次 s: mov al, [bx] ;以下采用相對基址變址定址方式 mov es:[bp+si], al ;經計算得第1行偏移地址應為b87b0h至b87cfh mov es:[bp+si+0a0h], al ; 第2行偏移地址應為b8850h至b886fh mov es:[bp+si+140h], al ; 第3行偏移地址應為b88f0h至b890fh mov al, 00000010b ;分別給三行設定屬性位元組 mov es:[bp+si+1], al mov al, 00100100b mov es:[bp+si+0a0h+1], al mov al, 01110001b mov es:[bp+si+140h+1], al inc bx add si,2 ;每個字元佔2個位元組 loop s mov ah,4ch int 21h code ends end start
執行結果如下