題目:
寫乙個程式,用二進位制顯示所按鍵的
ascii
碼,直到按下英文的句點符號.
則退出。
21h
的01
號子功能可輸入
1個字元。參考「
80x86
組合語言程式設計教程
」143頁。
原始碼:assume cs:code
code segment
start:
mov ah, 01h ;呼叫01子功能,接收1個按鍵輸入
int 21h ;所按鍵儲存在al中
cmp al, '.'
jz exit
mov bl, al ;這裡al的值還未改變
;如果寫在下面中斷之後會變成dl的值
mov ah, 02h
mov dl, 0dh
int 21h
mov dl, 0ah
int 21h
call output
jmp start
exit: mov ah, 4ch
int 21h
output proc
;在原版裡要先儲存ax,bx,cx到ss
;退出過程時再還原現場,這裡省略了
;似乎也沒什麼問題
;因為每一次暫存器的值都要重新寫的
mov cx, 8
times: shl bl, 1
jc one
mov dl, 30h ;這裡mov dl, '0'也可
jmp ovr
one: mov dl, 31h ;同理這裡mov dl,'1'也可
ovr: mov ah, 02h
int 21h
loop times
mov dl, 'b'
int 21h
mov dl, 0dh
int 21h
mov dl, 0ah
int 21h
ret ;過程中的返回語句,必須有
output endp
code ends
end start
二進位制 二進位制中1的個數
題目 請實現乙個函式,輸入乙個整數,輸出該數二進位制表示中 1 的個數。例如,把 9 表示成二進位制是 1001,有 2 位是 1。因此,如果輸入 9,則該函式輸出 2。示例 1 輸入 00000000000000000000000000001011 輸出 3 解釋 輸入的二進位制串 0000000...
整數的二進位制顯示
由於c 沒有方便的直接顯示整數二進位制的函式。這裡簡單寫了乙個,希望這個工具對大家觀察計算機中二進位制的補碼表示以及位運算有幫助。還是用到了bitset做幫助,不過便於檢視新增了每個位元組之間的空格。演算法控們可以不採用bitset,自己實現乙個。這裡顯示的都是補碼,至於補碼的規則,參考 inclu...
二進位制顯示檔案
void cprocessdlg onhexshow m lfilelength file.getlength lpos file.seek loffset,cfile begin while nret file.read szbuf,m nperlinebytes 0 stemp.format t...