組合語言實驗一

2021-10-22 04:03:32 字數 1745 閱讀 4829

datas segment

;此處輸入資料段**

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;實驗一(一):實現兩個數相加,輸出結果

mov ah,1

int 21h;一號功能單字元輸入

sub al,30h;減去30h將asc碼轉換成數字方便運算

mov cl,al;將al裡的值儲存到cl裡

mov dl,'+'

mov ah,2

int 21h;二號功能單字元輸出

mov ah,1

int 21h

sub al,30h

mov ch,al

mov dl,'='

mov ah,2

int 21h

add cl,ch;兩個數相加

mov al,cl

mov ah,0

mov cl,10

div cl;ax/cl al商數,ah餘數

mov dx,ax

add dx,3030h;add dl,30h add dh,30h

mov dl,dl;輸出商數

mov ah,2

int 21h

mov dl,dh;輸出餘數

int 21h

mov ah,4ch

int 21h

codes ends

end start

datas segment

;此處輸入資料段**

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;實驗一(二):實現兩個數相乘,輸出結果

mov ah,1

int 21h;一號功能單字元輸入

sub al,30h;減去30h將asc碼轉換成數字方便運算

mov cl,al;將al裡的值儲存到cl裡

mov dl,'*'

mov ah,2

int 21h

mov ah,1

int 21h

sub al,30h

mov ch,al

mov dl,'='

mov ah,2

int 21h

mov al,ch

mul cl;乘法ax=al(ch)*cl

mov cl,10

div cl;ax/cl al商數,ah餘數

mov dx,ax

add dx,3030h;add dl,30h add dh,30h

mov dl,dl;輸出商數

mov ah,2

int 21h

mov dl,dh;輸出餘數

int 21h

mov ah,4ch

int 21h

codes ends

end start

組合語言 實驗一

一 實驗目的 掌握彙編程式設計規範,熟悉程式設計環境。二 實驗內容 1.程式設計 向記憶體0 200 0 23f依次傳送資料0 63 3fh 2.程式設計 編寫code段 用push指令將a段中的word資料逆序儲存到b段中。三 實驗步驟演算法及關鍵 1.程式設計 向記憶體0 200 0 23f依次...

組合語言 實驗一

1 將下面3條指令寫入從2000 0開始的記憶體單元中,利用這3條指令計算2的8次方。記得把當前cs ip修改成2000 0000,這樣才可以用 t執行我們的彙編指令 2的8次方 256,轉換為十六進製制為0100h 由此圖我們可以得知,jmp是乙個可以立即跳到指定的ip位址,其次可以迴圈mov a...

組合語言 實驗一

一。掌握使用 debug 工具編寫和除錯彙編命令的方法 1.進入debug 2.常用debug功能 1.用r命令檢視 改變cpu暫存器內容 2.改變暫存器的值 3.用d命令檢視記憶體中的內容 4.使用d 1000 9檢視1000 9處的內容 5.檢視1000 0 1000 9 6.使用e命令改寫內容...