1 5分支程式

2021-07-02 04:52:57 字數 2687 閱讀 8356

實驗任務一:二進位製到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...