匯編程序中
A. 奼囩紪紼嬪簭 鍒嗙被緇熻″瓧絎︿覆涓澶у皬鍐欏瓧姣嶏紝鏁板瓧錛屽叾浠栧瓧絎︿釜鏁
;鍒嗙被緇熻″瓧絎︿覆涓澶у皬鍐欏瓧姣嶏紝鏁板瓧錛屽叾浠栧瓧絎︿釜鏁
;瀹氫箟瀛楃︿覆錛屼笉闇瑕侀敭鐩樿緭鍏ワ紝緇熻$粨鏋滀緷嬈′繚瀛樺埌X1,X2,X3,X4涓
data segment
buf db 'asdg123456,^&%$#$'
X1 db 0
X2 db 0
X3 db 0
X4 db 0
data ends
code segment
assume cs:code, ds:data
start:
mov ax,data
mov ds,ax
lea bx,buf ;瀹氫綅棣栦釜瀛楃
mov cx,X1-buf ;璁$畻瀛楃︿釜鏁
lop:
mov al,[bx]
cmp al,'a'
jb next1
cmp al,'z'
ja next1
inc X1 ;灝忎簬a澶т簬z鍒欒煩鍒頒笅涓欏癸紝鍚﹀垯X1+1
jmp exit
next1:
cmp al,'A'
jb next2
cmp al,'Z'
ja next2
inc X2 ;灝忎簬A澶т簬Z鍒欒煩鍒頒笅涓欏癸紝鍚﹀垯X2+1
jmp exit
next2:
cmp al,'0'
jb next3
cmp al,'9'
ja next3
inc X3 ;灝忎簬0澶т簬9鍒欒煩鍒頒笅涓欏癸紝鍚﹀垯X3+1
jmp exit
next3:
inc X4 ;鍓╀笅灝辨槸鍏跺畠瀛楃︿簡錛孹4+1
exit:
inc bx
loop lop ;寰鐜
mov ax,4c00h
int 21h
code ends
end start
B. 單片機匯編語言程序中中斷程序怎麼用,在程序中如何識別出哪裡是中斷服務程序,哪裡是主程序
一般在程序開頭有中斷子程序的入口處,在主程序里可以看到這些子程序的。標號名可以隨便取,但入口地址是固定的。
ORG 00H
AJMP MAIN
ORG 03H ;外部中斷0 入口地址
AJMP EX0INT ;跳轉至外部中斷0子程序
ORG 0BH
AJMP T0INT ;定時中斷0
ORG 13H
AJMP EX1INT ;外部中斷1
ORG 1BH
AJMP T1INT ;定時中斷1
ORG 23H
AJMP URT ;串口中斷
MAIN:
...
EX0INT: 外部中斷0子程序
...
T0INT: 定時器0 中斷子程序
...