1樓:匿名使用者
data segment
str1 db 'this is a string.$'
a_cnt db 0
data ends
code segment
assume cs:code,ds:datastart:
mov ax,data
mov ds,ax
lea si,str1
l_again:
mov al,'a'
cmp al,[si]
jne @f
inc byte ptr a_cnt
inc si
jmp l_again
@@:mov al,'$'
cmp al,[si]
je done
inc si
jmp l_again
done:
mov ax,4c00h
int 21h
code ends
end start
2樓:
看看行不行
data segment
alp db 'aajaaaaaaaaaaafdsfgdgaa12aaa.,.klhk3aaaafaakla$'
outs db 0
data ends
writebcd macro x ;假設x=36h,則在螢幕上輸出為36
push ax ;注 x中的數必須為某數的bcd碼
push cx
push dx
mov al,x
add al,0
daamov dl,al
mov dh,al
mov cl,4
shr dh,cl
and dl,0fh
add dx,3030h
xchg dl,dh
mov ah,2
int 21h
mov dl,dh
mov ah,2
int 21h
pop dx
pop cx
pop ax
endm
code segment
assume cs:code,ds:datastart: mov ax,data
mov ds,ax
lea si,alp
mov cx,0
go:cmp byte ptr [si],'$'
jz exitt
cmp byte ptr [si],'a'
jz next
cmp byte ptr [si],'a'
jz next
inc si
jmp go
next: inc cx
inc si
mov ax,cx
daamov cx,ax
jmp go
exitt: writebcd cl
mov [outs],cl
mov ah,4ch
int 21h
code ends
end start
組合語言跑馬燈程式設計,用組合語言編寫跑馬燈程式
迴圈點亮你只要用位移指令就行啦!假如是p1口,你只要先給他賦予一個初值00000001,假如是高電平點亮,那這是就只有一盞燈亮,迴圈左移就行啦!每次迴圈一次,都呼叫一下延時這就可以按自己要求設定延時的時間啦!其實思路都挺簡單的!不過你要是對微控制器一點都不瞭解,那隻好叫別人寫好給你算了!你直接複製下...
微控制器組合語言的程式設計問題
首先教你如何理解jnb和jb,jnb就是jump not bit,這樣不好理解,解釋一下就明白了 jump表示跳轉,not表示0,bit表示該位。它實際是條件判斷語句,意思是 如果該為為0則跳轉,否則繼續下一條。例 jnb p1.1,mark 如果p1.1位為零則跳轉到mark標誌指向的指令,否則繼...
組合語言程式設計高起專求大神幫助
35.單選題 mov al,12h add al,0ffh 上述兩條指令執行後,cf和of的值為內 本題2.0分 a cf 1 of 0 36.單選題 在組合語言程 容序設計中,偽指令offset的含義是回送變數或標號的 本題2.0分 b 偏移地址值 37.單選題 在串操作指令前使用重複字首指令re...