基本的8088組合語言五個實驗題
通過鍵盤輸入乙個小寫字母,找出對應的前導字母和後續字母,再按順序顯示這三個字母。
code segment
assume cs:code,ds:data
start:
mov ax,0
mov ax,data
mov ds,ax
mov ah,01h ;輸入的結果儲存在al
int 21h
mov bl,al ;因為後面要更改,使用bl暫存器來儲存al
add al,01h
mov dl,al ;輸出中斷內容在dl內,把al賦給dl
mov ah,02h ;輸出顯示
int 21h
sub bl,01h ;算出相對於al的前乙個字元
mov dl,bl
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
///
2. 從鍵盤輸入10個字元,然後以與鍵入相反的順序將10個字元輸出到顯示螢幕上。(定義資料段儲存錄入字元)
**如下:
data segment
;此處輸入資料段**
data ends
stack segment
;此處輸入堆疊段**
stack ends
code segment
assume cs:code,ds:data
start:
mov bx,data
mov ds,bx
mov cx,10
lp1:
mov ah,01h
int 21h ;輸入字元
mov ah,0
mov [bx],al
add bl,1
loop lp1
mov cx,10
sub bx,1
mov dl,0ah
mov ah,02h
int 21h
lp2:
mov dx,[bx]
sub bx,1
mov ah,02h
int 21h
loop lp2
mov ah,4ch
int 21h
code ends
end start
編寫乙個程式,要求比較陣列array中的三個16位補碼,並根據比較結果在終端上顯示如下資訊:
1) 如果三個數都不相等,顯示0;
2) 如果三個數有兩個相等,顯示1;
3) 如果三個數都相當,顯示2。
data segment
;此處輸入資料段**
array dw 3 dup(?)
data ends
stack segment
;此處輸入堆疊段**
stack ends
code segment
assume cs:code,ds:data
start:
mov array,data
mov ds,array
mov array[0],1
mov array[2],2
mov array[4],2
mov ax,array[0]
mov bx,array[2]
mov cx,array[4]
cmp ax,bx ;先比較a和b
ja bc
jb bc
cmp ax,cx ;再比較a和c
ja u1
jb u1
jmp u2
bc: cmp bx,cx ;比較bc
ja ac
jb ac
jmp u1
ac: cmp ax,cx ;比較ac
ja u0
jb u0
jmp u1
u0:mov dx,30h
jmp res
u1:mov dx,31h
jmp res
u2:mov dx,32h
jmp res
res:
mov ah,02h
int 21h
mov dx,0
mov ah,4ch
int 21h
code ends
end start
編寫乙個程式,要求通過鍵盤接收乙個個位數n,然後顯示n個字母『$』。
datas segment
;此處輸入資料段**
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,datas
mov ds,ax
mov ah,01h
int 21h
sub al,30h
mov cl,al
mov ch,00h
lp1:
mov dl,'$'
mov ah,02h
int 21h
loop lp1
mov ah,4ch
int 21h
codes ends
end start
將bx暫存器中的數用16位二進位制數形式顯示出來。
datas segment
;此處輸入資料段**
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov bx,datas
mov ds,bx
;分別輸入到bh和bl中
mov ah,01h
int 21h
mov bh,al
mov ah,01h
int 21h
mov bl,al
mov cx,16
lp1:
mov dl,30h
shl bx,1
jnc zero ; cf = 0,顯示0
inc dl ;cf= 1,顯示1
zero:
mov ah,02h
int 21h
loop lp1
mov dl,'b'
mov ah,02h
int 21h
mov ah,4ch
int 21h
codes ends
end start
組合語言 實驗五
1.將下面的程式編譯連線,用debug載入 跟蹤,然後回答問題。assume cs code,ds data,ss stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segmen...
組合語言 實驗五
一 對要求的程式進行編譯,連線,用debug載入,跟蹤,然後回答問題。1 在程式返回前,我們用d命令查詢data資料 發現其中的值並沒有發生改變 2 在程式返回前我們可以發現,cs 076c ss 076b,ds 075a 3 該程式載入後,code段的段位址為x,則data段的段位址為x 2,st...
組合語言程式設計實驗報告五
南京資訊工程大學實驗報告 實驗名稱 實驗 5 編寫 除錯具有多個段的程式 實驗日期 11.26 得分 學院 計軟院 專業 電腦科學與技術 年級 2017級 班次 5班 姓名 陳奕明 學號 20171308194 一 實驗目的 1.理解和掌握將資料 棧放入不同段的程式的編寫和除錯 2.理解具有多個段的...