從鍵盤獲取乙個位元組
輸出乙個位元組
輸出字串
**
mov dx, offset lable
mov ah, 09h
int 21h
cmp的詳細解釋
cf標誌位(無符號數)
of標誌位(帶符號數)
單標誌條件轉移指令
無符號數條件轉移指令
帶符號數條件轉移指令
cx暫存器條件轉移指令
of = 0 的情況比較方便記憶,of = 1的情況可以相反記憶set*條件設定指令js是值為負時轉移,應當特別關注
跳轉表核心思想:do - while
迴圈控制指令
串操作指令
重複字首指令
指令:rep
指令:repz/repe
指令:repnz/repne
串傳送串儲存
串裝入串比較
串搜尋串輸入
串輸出常用初始化指令:cld/std(設定df的值)
例題經典部分
巧妙解決上述問題只有兩個偏移位址暫存器
xchg bx, di
stosw
xchg bx, di
輸出乙個兩位數(原值存放在bx中)
mov ax, bx
mov bl, 10
div bl ;因為是兩位數,所以不需要dx
;先輸出十位數,存放在al中
mov bh, ah ;儲存餘數
mov dl, al
mov ah, 2
or dl, 30h
int 21h
;輸出個位數,現存放在bh中
mov dl, bh
or dl, 30h
int 21h
注:di/si 名字的含義值得深思
值得關注的例題
把暫存器ebx中的二進位制以十六進製制的形式顯示
將字變數x轉換為十進位制輸出(逐個輸出)start:
mov ebx 11aa22bbh
mov ch, 8
;8位十六進製制數,每次處理一位,共8次
rotate:
mov cl, 4
rol ebx, cl ;迴圈移動,每次將最高位移動到最低位
mov al, bl
and al, 0fh
add al, 30h
cmp al, 39h
jbe disp
add al, 7
data segment
div1 dw 10000,1000,100,10,1
data ends
code segment
assume:cs:code, ds:data
start:
mov ax, data
mov ds, ax
mov ax, x
mov cx, 5
mov si, offset div1
rep1:
xor dx, dx
div word ptr [si]
push dx ;儲存餘數
or al, 30h
mov dl, al
mov ah, 2
int 21h
inc si
inc si
pop ax ;將餘數存入ax
loop rep1
mov ax, 4c00h
int 21h
code ends
end start
注:關鍵**是迴圈,但機械化的迴圈5次會有多餘的0輸出
將字變數x轉換為十進位制輸出(一起輸出)
rep1:
xor dx, dx
mov bx, 10
div bx
or dl, 30h
push dx
loop rep1
mov cx, 5
rep2:
pop dx
mov ah, 2
int 21h
loop rep2
連線三個字串
mov di, offset buff
lp1:
mov bx, len
sub bx, 2
cmp di, bx
jz del_end ;輸出字串
cmp word ptr[di], 0a0dh
jnz continue ;不是回車換行就繼續查詢
push di
mov si, di
inc si
inc si ;跳過換行
mov cx, len
sub cx, di ;計算移動總長度
cldrep movsb ;將ds/es定義在同乙個data段,巧用si/di
mov ax, len
sub ax, 2
pop di
;巧妙的承接,遞增了di
continue:
inc di
jmp lp1
注:不足為也刪除了空格
將位元組變數buffer中的10個壓縮的bcd碼轉換成非壓縮的bcd碼存入result中
...
lea si, buffer
lea di, result
mov cx, 10
l1:mov dl, [si]
mov al, dl
push cx
mov cl, 4
shr al, cl ;右移乙個bcd碼
pop cx
mov [di], al ;存入高位bcd碼
inc di
and dl, 0fh ;高位清零
mov [di], dl ;存入低位bcd碼
inc di
inc si
loop l1
彙編第五章作業
5.1小寫變大寫 data segment meg db please enter a lowercase letter data ends code segment assume cs code,ds data start mov ax,data mov ds,ax mov ah,9 mov dx...
python第五章 Python學習(第五章)
記錄所有的名片字典 card list defshow menu 顯示資訊 print 50 print 歡迎使用 名片管理系統 v1.0 print print 1.新增名片 print 2.顯示全部 print 3.搜尋名片 print print 0.退出系統 print 50 defnew ...
python學習筆記第五章
1.物件是屬性和方法的集合。同樣也有繼承機制。init 就是python的建構函式。變數私有化是在變數前加上 繼承機制 class cat def hello self print i m a cat class dog cat def eat self print i eat bone kitty...