1樓:匿名使用者
code segment ;段開始標誌assume cs:code ;用assume將cs與該code段關聯起來
start: ;程式入口標誌
mov al,0abh ;對將資料放入暫存器ax中,(ax)=0abh
mov cl,4 ;對將資料放入暫存器cx中,(cx)=4rol al,cl ;對al的8位資料進行向右的迴圈左移,一共移動4位(也就是cx的值)。所謂迴圈右移1位,就是將最低位的0或1放到最高位,其他位向右移動1位。這樣移動4位之後,al中的低四位資料就跑到高四位了,而高四位資料跑到低四位了。
mov ax,4c00h ;剩下兩句是用來終止程式用的int 21h
code ends ;段結束標誌
end start ;程式結束標誌
2樓:匿名使用者
好基礎啊, 好基礎.
code segment ;;**段開始
assume cs:code ;;**段地址
start:mov al,0abh ;;start是一個標籤, 取運算元0abh 放在暫存器al中
mov cl,4 ;;將4放在暫存器cl中
rol al,cl ;;將al中的數迴圈左移cl位(4位), 完成高低4位互換
mov ax,4c00h ;;4c00 -> ax
int 21h ;;呼叫中斷21h, 退出程式
code ends
end start
最終執行完...就是在cpu中換了下高低位, 什麼也沒有輸出. over.
3樓:
code segment ;;**段開始
assume cs:code ;;**段地址和cs段暫存器關聯
start:mov al,0abh ;;start是一個標籤, 將運算元0abh 放在暫存器al中
mov cl,4 ;;將4放在暫存器cl中
rol al,cl ;;將al中的數迴圈左移4位 左移的位數時根據cl的值來決定
mov ax,4c00h ;;21號中斷的4c號功能用於退出程式返回執行權給作業系統
int 21h ;;呼叫中斷21h, 退出程式 不寫這個你的程式執行後dos就會死住無法繼續操作
code ends
end start
4樓:匿名使用者
start: al=0xab
cl=4
al迴圈左移4位後al=0xba
ax=0x4c00
執行中斷21(程式 返回)
用8086組合語言編寫程式,接受從鍵盤上輸入的一個兩位十進位制數字,這個數經過bcd碼處理,以十六進位制顯示出
5樓:做而論道
;********************==
disp_str macro x ;巨集定義.
mov dx, offset x
mov ah, 9
int 21h
endm
;----------------------
data segment ;資料段.
msg1 db 13, 10, 'please input : $'
msg3 db 13, 10, 'the hex is : $'
x dw ? ;存放新輸入資料.
data ends
;----------------------
code segment ;**段.
assume cs: code, ds: data
start:
mov ax, data
mov ds, ax
;--------------------------------
in_loop:
disp_str msg1 ;巨集呼叫,提示 please input :
;--------------------------------
mov x, 0 ;資料清零.
_inx:
mov ah, 1 ;輸入字元.
int 21h
;--------------------------------
cmp al, 13 ;回車?
je _in_end ;是則結束輸入.
cmp al, '0'
jb in_loop ;小於'0',不是數字.
cmp al, '9'
ja in_loop ;大於'9',不是數字.
sub al, '0'
mov cl, al
mov ch, 0
mov ax, x
mov bx, 10 ;老資料乘以10
mul bx
add ax, cx ;加上新資料.
mov x, ax ;儲存.
cmp ax, 99
ja in_loop
jmp _inx
;--------------------------------
_in_end:
disp_str msg3 ;巨集呼叫,提示 the hex is :
mov ax, x
mov bx, 16
mov cx, 0
d_1:mov dx, 0
div bx
add dl, '0'
cmp dl, 3ah
jb zzz
add dl, 7
zzz:
push dx
inc cx
cmp ax, 0
jne d_1
mov ah, 2
d_2:pop dx
int 21h
loop d_2
;--------------------------------
mov ah, 4ch
int 21h
;--------------------------------
code ends
end start
;********************=
6樓:匿名使用者
學彙編,要用到哪些軟體
8086組合語言解釋,8086組合語言可以幹什麼
簡單解釋下 mov cx,2 設定迴圈計數 cx ecx 預設是作為loop的迴圈計數器 lea si,divarray1 獲取divarray1的地址,儲存在si中,因為後面使用了si div word ptr si 獲取si地址指向的內容也就是divarray1中儲存的值10 or 1,只是要注...
組合語言以後可以幹嘛,8086組合語言可以幹什麼
組合語言是一種功能很強的程式設計語言,也是利用計算機所有硬體特性並能直接控制硬體的語言。學好以後可以做微控制器 做作業系統 編譯器 反正底層開發肯定是需要的。學彙編,可以學到硬體方面的知識。學會了,對以後的工作,一定是有些好處的。但是,得不償失。放棄彙編,就可以學習,更有用的知識。不知道,個人也覺得...
用組合語言寫程式輸入數進行以下運算
我不會c 演算法通訊演示c語言 包括中無效的主要 無效 其他 結果 輸出 後共 e操作 n 結果 我沒有測試,也沒有編譯你應該嘗試.組合語言 設計一個子程式,可以根據輸入的n,計算並輸出n的3次方 輸入0 40,求立方,並顯示 code segment assume cs code,ds codeo...