四、例子
四、實驗一
五、實驗二
編譯工具
windows32位下
提取碼:
vb3d
mystack segment para'stack'
;content
mystack ends
data segment
;content:data define
data ends
code segment
assume ds:data,ss:mystack,cs:code
start:
;content:your codes
code ends
end start
呼叫dos系統功能指令:int 21h
由ah中內容(mov ah,xxh
)決定執行哪種功能:
# 確定ds
mov ax,data
mov ds,ax
# 確定dx,用lea或者mov offset
lea dx,number
mov ah,
09hint 21h
name
是保留字,使用這個會報錯symbol not defined:name
code segment
中,格式是***:
mystack segment para'stack'
mystack ends
data segment
data ends
code segment
assume ds:data,ss:mystack,cs:code
start:
mov ah,
02h mov dl,
'a' int 21h
mov ah,
4ch int 21h
code ends
end start
將指定資料區的字串資料以ascii碼形式顯示在螢幕上,並通過dos功能呼叫完成必要提示資訊的顯示。
在螢幕上顯示自己的學號姓名資訊。
迴圈從鍵盤讀入字元並回顯在螢幕上,然後顯示出對應字元的ascii碼,直到輸入」q」或「q」時結束。
自主設計輸入顯示資訊,完成程式設計與除錯,演示實驗結果。
mystack segment para'stack'
db 100
dup(?)
mystack ends
data segment
mynumber db '17130110084$'
;姓名 myname db 'zhangxiaomo$'
;學號data ends
code segment
assume ds:data,ss:mystack,cs:code
start:
;顯示mynumber
mov ax,data
mov ds,ax
lea dx,mynumber
mov ah,
09h
int 21h
;顯示myname
mov bx,data
mov ds,bx
lea dx,myname
mov ah,
09h int 21h
mov ah,
4ch int 21h
code ends
end start
stack segment
stack ends
data segment
data ends
code segment
assume cs:code,ds:data
start:
; 確定ds和dx
mov bx,
1000h
mov ds, bx
mov dx,
0000h
loop:
; 讀取字串
mov ah,
0ah mov di,
0h mov bl,
02h mov [di]
, bl
int 21h
; 將字元讀出到al中
add di,
02h mov al,
[di]
; 輸入q的情況
cmp al,
'q'; 結果為0,即相等時,調到next
jz next
cmp al,
'q' jz next
; 讀取高4位,&
11110000
and al,
0f0h
mov cl,
4 shr al, cl
; 是否是a以上的數
cmp al,
0ah ; 結果低於,跳到c2
jb c2
; 不低於,加7h,再到c2
add al,
07h
c2: add al,
30h
mov bl,al
mov al,
[di]
; 讀取低4位,&
00001111
and al,
0fh cmp al,
0ah jb c3
add al,
07hc3:
add al,
30h mov di,
0h mov [di]
,bl inc di
mov [di]
,al inc di
mov bl,
48h mov [di]
,bl inc di
mov bl,
24h mov [di]
, bl
; 顯示字串
mov ah,
09h int 21h
clcjmp loop
; 退出
next:
mov ah,
4ch int 21h
code ends
end start
assume cs:code
data segment
est db "error"
,0ah,
0dh,
'$'data ends
stack segment
stk db 64
dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,offset stk
mov ax,data
mov ds,ax
rf: mov cx,
5 mov ax,
0 mov dx,
0 mov si,
0 mov di,
0rr:
mov ah,
01h int
21h cmp al,
0dh je rend
cmp al,
'q' je qt
cmp al,
'q' je qt
cmp al,
'0' jl err
cmp al,
'9' jg err
jmp cnt
err:
call perr
cnt:
sub al,
'0' mov bh,
0 mov bl,al
mov ax,di
push bx
mov bx,
10 mul bx
pop bx
add ax,bx
adc dx,
0 mov si,dx
mov di,ax
loop rr
rend:
call newline
mov bx,si
call itb
mov bx,di
call itb
call newline
jmp rf
qt: mov ax,
4c00h
int21hitb:
mov cx,
16rs:
mov ax,bx
and ax,
01h mov dl,al
add dl,
'0' push dx
shr bx,
1 loop rs
mov cx,
16r:
pop dx
mov ah,
02h int
21h loop r
retnewline:
mov ah,
02h mov dl,
0dh int
21h mov dl,
0ah int
21h ret
perr:
mov dx,offset est
mov ah,
09h int
21h jmp rf
retcode ends
end start
彙編 上機實驗一
一 實驗任務 1.實現人機對話程式設計 給出人機對話的具體程式要求 data segment pars db 100,100 dup mesg db what is your name?data ends stack segment para stack stack db 100 dup stack...
彙編 上機實驗二
實驗任務 1.實現迴圈結構程式設計 陣列累加求和以及排序程式設計 data segment n dw 5 sum dw data ends code segment main proc far assume cs code,ds data start push ds mov ax,0 push ax...
計組實驗 時序系統
實驗四 時序系統 一 實驗目的 掌握計算機實驗中時序系統的設計方法。設計乙個基本時序系統,該系統具有4個節拍電平及四相工作脈衝,其時序關係參閱下圖中的m0 m3,t0 t3。二 實驗方案 三 實驗要求 開關資料為移位器預置0001。選用適當方案,設計出實驗線路圖。設計試驗步驟。利用指示燈觀察實驗現象...