;看書看到乙個題目:編寫乙個子函式,列印8行3列的字串,資料域已經給出
;0 0寫了幾個小時的成果- - (╯-_-)╯╧╧ 暈死
assume cs:codesg,ds:datasg,ss:stack
datasg segment
db 'welcome to masm! ',0
datasg ends
stack segment
dw 64 dup(0)
stack ends
codesg segment
start:
mov dh,8 ;行號
mov dl,3 ;列數
mov cl,2 ;綠色
mov ax,datasg
mov ds,ax
mov si,0 ;ds:si指向字串的首位址
mov ax,stack
mov ss,ax
mov sp,128
call show_str
mov ax,4c00h
int 21h
;列印dh行dl列的字串
show_str:
mov ax,0b800h
mov es,ax ;es定位視訊記憶體
mov bx,0 ;真正列印的位置
mov ah,cl ;低位存放顏色
;控制行迴圈
mov cx,0
mov cl,dh
row:push cx
push bx
;控制列迴圈
mov cx,0
mov cl,dl
col:push cx
push si
call print ;列印字串
pop si
pop cx
loop col ;迴圈列印一行
pop bx
add bx,160 ;定位到下一行列印
pop cx
loop row ;迴圈列印行
ret ;返回
;列印字串
print:
mov cl,[si]
mov ch,0
jcxz ok ;判斷當前字元是否到0,到了就停止這個列印
mov al,[si]
mov es:[bx],ax ;寫入視訊記憶體顯示
inc si
add bx,2
jmp short print ;如果沒列印完,就繼續往後列印
ok:
retcodesg ends
end start
170824 彙編 x86基礎
a.1625 5 王子昂 總結 2017年8月24日 連續第325天總結 b.逆向知識 資料移動分為5種方式 立即數到暫存器 立即數到記憶體 暫存器到暫存器 暫存器到記憶體或記憶體到暫存器 記憶體到記憶體 前4種是所有現代體系都支援的,第五種是x86獨有的,可以通過inc add來直接操作記憶體 另...
X86彙編指令詳解
x86彙編基本分為七大體系 分別是 1 資料傳送指令 2 算術運算指令 3 邏輯運算指令 4 串操作指令 5 控制轉移指令 6 處理器控制指令 7 保護方式指令 先介紹資料傳送指令集 1 資料傳送指令 1.mov 格式 mov destination,source 功能 將s ource中的資料傳送...
x86彙編學習筆記
debug 是dos,windows都提供的實模式 8086 方式 程式的除錯工具.windows下使用dosbox模擬dos環境,掛載所在目錄後開啟debug.exe r指令 顯示r ax 0000 bx 0000 cx 0000 dx 0000 sp 00fd bp 0000 si 0000 d...