《組合語言》 王爽第三版實驗9

2021-10-11 02:10:39 字數 897 閱讀 7153

assume cs:code, ds:data

data segment

db 'welcome to masm!'

db 02h, 24h, 71h ;綠色、綠底紅色、白底藍色

data ends

code segment

start: mov ax, 0b800h

mov ds, ax

mov bx, 160*14 + 30 ;每行160個位元組,共25行,中間顯示,放在14行,在30個位元組處顯示。

mov ax, data

mov es, ax

mov bp, 0 ;資料段

mov si, 0

mov cx, 3

;雙重迴圈外迴圈負責3個,不同顏色,內迴圈負責拷貝字串。

s0: push cx

mov cx, 16 ;16個字元的拷貝

mov bp, 0 ;每次清零以便重新拷貝字元

s: mov al, es:[bp]

mov ds:[bx], al

inc bx

mov al, es:16[si] ;es:16[0]是顏色資料處——02h

mov ds:[bx], al

inc bx

inc bp

loop s

pop cx

add bx, 160-32 ;下一行對齊

inc si ;下乙個顏色

《組合語言》王爽第三版 實驗9

datas segment 此處輸入資料段 db w 00000010b,e 00000010b,l 00000010b,c 00000010b,o 00000010b db m 00000010b,e 00000010b,0,t 00100100b,o 00100100b,0 db m 01110...

王爽 組合語言第三版實驗7

這個題目做了很久,使用了2中方法做出了結果,不過目前在單步除錯時還有點疑問。題目 power idea公司從1975成立一直到1995年的基本情況被定義到了datasg中,程式設計將datasg段中的資料寫入到table段中,並計算21年中的人均收入 取整 結果儲存到table段中 兩種方法我都使用...

《組合語言(第三版)》王爽,實驗九

不知道為什麼,在win7下用的emu8086,顯示會錯位,到不了中間位置 在網上找了下別人的 發現即使是在別人那裡能正常顯示在中間位置,複製到我這裡都會顯示為上圖所示的樣子。下面是 定義資料段的時候為了後面不用將ascii碼和屬性分開讀取,就定義成如下這樣比較繁瑣的形式了。其實做的時候第一時間沒想到...