彙編輸出0 255ascii碼(VGA下)

2022-07-31 18:42:13 字數 2067 閱讀 8397

源**:

data segment

a db 00h

x db "000"

y db "000 ",0dh, 0ah, "$"

data ends

code segment

assume cs:code, ds:data

main:

mov ax, data

mov ds, ax

mov ax, 0b800h

mov es, ax

xor di, di

mov ax , 0003h

int 10h

mov al, 0h

mov [a], al

cldagain:

call change

call change1  

mov ah, 04h

mov al, x[0]

stosw

mov ah, 02h

mov al, x[1]

stosw

mov al, x[2]

stosw

mov ah, 07h

mov al, y[0]

stosw

mov al, y[1]

stosw

mov al, y[2]

stosw

mov al, y[3]

stosw

call next

mov cl, [a]

inc cl

mov [a], cl

cmp cl, 0h

jne again

jmp over

over:

mov dh, 24

mov dl, 79

mov ah, 2

int 10h

mov ah, 0

int 16h

mov ah, 4ch

int 21h

next:

cmp di, 3840

ja next1

add di, 146

jmp done

next1:

sub di, 3840

change:

mov al, [a]

mov x[0], al

mov cl, 4

shr al, cl

mov ah, al

call hex

mov x[1], al

mov al, [a]

and al, 0fh

call hex

mov x[2], al

mov al, [a]

rethex:

cmp al, 10

jb add0

sub al, 10

add al, 'a'

jmp done

add0:

add al, '0'

done:

retchange1:

mov al, [a]

mov ah, 0

mov bl, 100

div bl  

add al, 30h

mov y[0], al

mov al, ah

mov ah, 0

mov bl, 10

div bl

add al, 30h

mov y[1], al

add ah, 30h

mov y[2], ah

retcode ends

end main

個人組合語言基礎學習總結:

學習彙編就像學習用新的材料創造建築,彙編不像c,c++一類語言已經建立完整的模型函式庫,組合語言就像沙子,給你無盡的記憶體位址,就看你在這些位址上放些什麼以及如何擺放。其實任何乙個程式設計師都應該對彙編的基礎語言學習了解,否則他永遠不知道原來計算機的記憶體是可以這麼「玩」的

彙編 ASCII碼轉BCD碼並輸出

datas segment nums db 30h,31h,41h,38h,39h,32h,33h,36h,31h ascii碼 numo db 4 dup dlen nums datas ends codes segment assume cs codes,ds datas start mov a...

彙編顯示鍵盤掃瞄碼和ASCII碼

題目及要求如下 利用中斷型別16h呼叫鍵盤i o介面程式,並顯示由鍵盤中斷程式送回的掃瞄碼和ascii碼。顯示的格式如下 scan ascii char 1e 61 a 30 62 b 2e 63 c 按ctrl c可以中止程式。ctrl c對應的ascii碼為03h。練習將二進位制數轉換為16進製...

輸出相應的ascii碼 ASCII 字元的點陣顯示

要在 lcd 中顯示乙個 ascii 字元,即英文本母這些字元,首先是要找到字元對應的點陣。在 linux 核心原始碼中有這個檔案 libfontsfont 8x16.c,裡面以陣列形式儲存各個字元的點陣,比如 上圖左側有 16 行數值,每行 1 個位元組。每乙個節對應右側一行中 8 個畫素 畫素從...