這學期在學彙編,沒怎麼自己動手程式設計過,結果到了中期編不出程式來,實在太尷尬了
特此來補各個實驗。
4-11 0:200~0:20b 為什麼等同於 0020:0~0020b?
0:200 =0x16h+200=00200h
所以拆分成不同的形式即可轉換
assume cs:code
code segment
mov ax,0200h
mov ds,ax ;將資料段記憶體進行更改
mov bx,0
mov cx,64
s:mov [bx],bx ;裡面加的值是否預設為十進位制
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
a.在彙編中 bx一般用於儲存偏移位址 [bx] 即代表對應的偏移位址
b.8086/8088 的組合語言裡,以字母開頭的16進製制數字,前面必須加 0 如:0a3h
4-2 同上
4-3a.使用debug除錯程式,cx暫存器的初始值儲存的內容就是此程式的大小
b.段暫存器支援從其他暫存器中賦值但不允許立即數直接複製給段暫存器(cs不能直接把儲存的段位址賦給ds)
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,0015h
s:mov al,[bx] ;mov操作一次是多少位的
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
運算元分類
立即數 儲存器運算元 暫存器運算元
組合語言(王爽)實驗4
1 程式設計,向記憶體0 200 0 23f依次傳送資料0 63.assume cs code code segment movax,20h movds,ax mov bx,0 movcx,64 s mov bx bl incbx loop s movax,4c00h int21h code end...
組合語言 《組合語言》王爽 實驗一
從 1000 0 開始寫入命令 a 1000 0 mov ax,4e20 add ax,1416 mov bx,2000 add ax,bx mov bx,ax add ax,bx mov ax,001a mov bx,0026 add al,bl add ah,bl add bh,al mov a...
《組合語言》 王爽 實驗11
題 編寫乙個子程式,將包含任意字元,以0結尾的字串中的小寫字母轉變成大寫字母,描述如下。名稱 letterc 功能 將以0結尾的字串中的小寫字母轉變成大寫字母。引數 ds si指向字串首位址。如題,任意字元,就得考慮一些其他字元,這就需要劃分乙個範圍,就是取出的字元應該在小寫字母的ascii碼範圍內...