實驗任務一:二進位製到ascii碼的轉換
在data單元存放著乙個8位二進位製碼,將其按位轉換成一串ascii碼,即'1'轉換成'1'的ascii碼31h;'0'轉換成30h。並依此存放在以string開始的ram區中(高位在前地位在後)。
**:data segment
db 6bh
data ends
table segment
db '
'table ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,512
mov ax,data
mov ds,ax
mov ax,ds:[0]
mov si,0
mov di,7
call change
mov dh,4
mov dl,5
mov si,0
call show_str
mov ax,4c00h
int 21h
change: push cx
;此函式完成二進位制致ascii碼的轉換
push bx
push ax
push si
push di
mov bx,10000000b
mov cx,8
change_s:push cx
mov cx,di
push ax
push ax
mov ax,table
mov ds,ax
pop ax
and ax,bx
shr bx,1
shr ax,cl
add al,30h
mov [si],al
dec di
inc si
pop ax
pop cx
loop change_s
pop di
pop si
pop ax
pop bx
pop cx
retshow_str: push ax
;此函式是用來將資料寫入快取中
push dx
push cx
show_str1:mov ax,table
mov ds,ax
sub dh,1
mov al,dh
add dh,1
mov bl,160
mul bl
mov es:[0],ax
sub dl,1
mov al,dl
add dl,1
mov bl,2
mul bl
add ax,es:[0]
mov bx,0b800h
mov es,bx
mov bx,ax
mov cl,[si]
mov ch,0
jcxz ok
mov al,[si]
add bx,si
add bx,si
mov es:[bx],al
add bx,1
mov es:[bx],72h
inc si
jmp show_str1
ok:pop cx
pop dx
pop ax
retcode ends
end start
實驗任務二:ascii碼到十進位制的轉換
從string1單元開始,存放一串ascii碼字元(其字元長為十六個位元組,每一
個ascii碼佔乙個位元組)。ji將string1中每個字元轉換成與之對應的十進位制數字,
並存放在以string2開始的區中(每個十進位制數字佔乙個位元組)。如果某乙個ascii
碼不是0-9之間的數,則將string2字串中對應單元置為ff。
**:string1 segment
db '123f56a890c23d56',0
string1 ends
string2 segment
db 20 dup(0)
string2 ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,512
mov si,0
call _change
mov ax,4c00h
int 21h
_change:push cx
push ax
push si
mov cx,16
sc:mov ax,string1
mov ds,ax
mov al,ds:[si]
cmp al,39h
ja _okc
cmp al,30h
jb _okc
sub al,30h
_okc1: push ax
mov ax,string2
mov ds,ax
pop ax
mov ds:[si],al
inc si
loop sc
pop si
pop ax
pop cx
ret_okc: mov al,0ffh
jmp _okc1
code ends
end start
02 分支結構
bool資料型別 bool資料型別,是 一種表 示 非真即假的資料型別,布林型別的變數只有 yes和no兩個值。yes表 示表示式結果為真,no表 示表示式結果為假 bool a yes 在c預言中,認為非0即為真.分 語句中,經常使 用bool值做判斷,判斷執 行if語句還是else語句 迴圈結構...
16 分支管理
分支就是科幻電影裡面的平行宇宙,當你正在電腦前努力學習git的時候,另乙個你正在另乙個平行宇宙裡努力學習svn。如果兩個平行宇宙互不干擾,那對現在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合併了,結果,你既學會了git 又學會了svn!分支在實際中有什麼用呢?假設你準備開發乙個新功能,但是需要...
6 分支語句
關鍵字 if語句分析 switch語句分析 if condition else bool b true if b else 2 變數和0值進行比較時,0值應該出現在比較符號的左邊 int i 1 if 0 i else 3 float型變數不能直接進行0值比較,需要定義精度 define epsin...