diy.inc
来源:互联网 发布:ubuntu 选择性能模式 编辑:程序博客网 时间:2024/04/28 22:21
一个库,名字先这样定着
;Disp_Str-------------------------------------------------------------
Disp_Str:
push ebp
mov ebp,esp
push eax
push ebx
push esi
push edi
mov esi,[ebp + 8]
mov edi,[Disp_Pos]
.begin:
lodsb
test al,al
je .exit
cmp al,0ah
jne .disp
push eax
mov eax,edi
mov bl,160
div bl
and ax,0ffh
inc ax
mov bl,160
mul bl
mov edi,eax
pop eax
jmp .begin
.disp:
mov ah,0ch
mov [gs:edi],ax
add edi,2
jmp .begin
.exit:
mov [Disp_Pos],edi
pop edi
pop esi
pop ebx
pop eax
pop ebp
ret 4
;end of Disp_Str------------------------------------------------------
;Disp_Return----------------------------------------------------------
Disp_Return:
push ebp
mov ebp,esp
push Return
call Disp_Str
pop ebp
ret
;end of Disp_Return---------------------------------------------------
;Disp_Al--------------------------------------------------------------
Disp_Al:
push eax
push ecx
push edi
mov edi,[Disp_Pos]
mov ecx,2
push eax
shr al,4
.loop:
and al,0fh
cmp al,9
ja .letter
add al,'0'
jmp .disp
.letter:
sub al,10
add al,'A'
.disp:
mov ah,0ch
mov [gs:edi],ax
add edi,2
cmp ecx,1
je .exit
pop eax
loop .loop
.exit:
mov [Disp_Pos],edi
pop edi
pop ecx
pop eax
ret
;end of Disp_Al-------------------------------------------------------
;Disp_32Bit_Int-------------------------------------------------------
Disp_32Bit_Int:
push ebp
mov ebp,esp
push eax
push esi
mov esi,[ebp + 8]
mov eax,[esi]
rol eax,8
call Disp_Al
rol eax,8
call Disp_Al
rol eax,8
call Disp_Al
rol eax,8
call Disp_Al
pop esi
pop eax
pop ebp
ret 4
;end of Disp_32Bit_Int------------------------------------------------
;Memory_Copy----------------------------------------------------------
;C函数 Mem_Copy(void *esi,void *edi,len ecx)
;ds:esi -> es:edi
;调用前默认ds,es已经填入
Memory_Copy:
push ebp
mov ebp,esp
push ebx
push ecx
push esi
push edi
mov ecx,[ebp + 16]
mov edi,[ebp + 12]
mov esi,[ebp + 8]
.1:
cmp ecx,0
je .2
mov byte bl,[ds:esi]
inc esi
mov byte [es:edi],bl
inc edi
dec ecx
jmp .1
.2:
pop edi
pop esi
pop ecx
pop ebx
pop ebp
ret 12
;end of Memory_Copy---------------------------------------------------
- diy.inc
- DIY
- DIY
- DIY
- ..\common\inc;.\inc很重要
- adovbs.inc
- pm.inc
- Macro.inc
- TransVideo Inc?
- adovbs.inc
- protect.inc
- inc文件
- memcfg.inc
- pm.inc
- FAThdc.inc
- pm.inc
- Apple Inc.
- $inc计数器
- 范式
- 关于手动更新ubuntu 的内核
- LDR指令和LDR伪指令
- 为爱,种下一束罂粟花(转载)
- 成为情绪的主人(10月19日)
- diy.inc
- loader.asm
- 连载6:数组循环移位(《编程之美》第2.17节)
- FAThdc.inc
- pm.inc
- 深度·自信·计划——《我是一只IT小小鸟》读书笔记(4)
- 大学生活应该这样度过之计算机专业与实训——《程序员羊
- 直接插入排序
- struts2 的doubleSelect标签的使用