读寄存器内容的源代码
读寄存器内容的源代码
我的环境是WINXP+MASM5.0通过编译生成可执行文件,双击,提示写入文件成功,按任意键推出。在程序的同一目录下的TEMP.TXT中已经写入了:
ABCD
4645
4F5B
FFFF
四行用来测试而显示送入寄存器的值。
以下是完整的代码,
MovToVar Macro m_Reg,Asc_AX
mov bx,m_Reg
call ConvertToAsc
lea si,CAscii
lea di,Asc_AX
mov cx,4d
rep movsb
EndM
data segment
mAX dw 0
mBX dw 0
mCX dw 0
mDX dw 0
AscAX db 4 dup(?),0dh,0ah
AscBX db 4 dup(?),0dh,0ah
AscCX db 4 dup(?),0dh,0ah
AscDX db 4 dup(?),0dh,0ah
WriteBytes EQU $-AscAX
CAscii db 5 dup(?) ;临时存放转化结果
filename db 'temp.txt$',0h
filehandle dw ?
ferr_num1 db 'Error occurred when create file!$'
ferr_num2 db 'Write file error!$'
tssaveok db 'Write register value to file success.$'
tsexit db 'Press any key to exit...$'
data ends
Code segment
assume cs:code,ds:data,es:data
Main proc far
start:
push ds
sub ax,ax
mov ax,data
mov ds,ax
mov es,ax
sub ax,ax
非常好我支持^.^
(1) 100%
不好我反对
(0) 0%