![]() |
#2
诸葛修勤2011-03-11 11:56
|


;#Mode=CON
.386
.model flat, stdcall
option casemap :none
include Irvine32.inc
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
include macro.asm
.data
outputmsg BYTE "(1) x AND y ", 0dh, 0ah
BYTE "(2) x OR y ", 0dh, 0ah
BYTE "(3) NOT x ", 0dh, 0ah
BYTE "(4) x XOR y "
enteradd DWORD AND_op, OR_op, NOT_op, XOR_op
msg1 BYTE "输入整数: ", 0dh, 0ah
x DWORD ?
y DWORD ?
.code
main proc
mov edx, offset outputmsg
call WriteString
call Crlf
call ReadDec
sub eax, 1
mov ebx, offset enteradd
call DWORD ptr [ebx+4*eax]
call WaitMsg
invoke ExitProcess, 0
main endp
AND_op proc
call all_need
mov x, eax
call all_need
;mov y, eax
and eax, x
call WriteHex
call Crlf
ret
AND_op endp
OR_op proc
call all_need
mov x, eax
call all_need
;mov y, eax
or eax, x
call WriteHex
call Crlf
ret
OR_op endp
XOR_op proc
call all_need
mov x, eax
call all_need
;mov y, eax
xor eax, x
;mov eax, x
call WriteHex
call Crlf
ret
XOR_op endp
NOT_op proc
call all_need
mov x, eax
not x
mov eax, x
call WriteHex
call Crlf
ret
NOT_op endp
all_need proc
mov edx, offset msg1
call WriteString
call ReadHex
ret
all_need endp
end main
.386
.model flat, stdcall
option casemap :none
include Irvine32.inc
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
include macro.asm
.data
outputmsg BYTE "(1) x AND y ", 0dh, 0ah
BYTE "(2) x OR y ", 0dh, 0ah
BYTE "(3) NOT x ", 0dh, 0ah
BYTE "(4) x XOR y "
enteradd DWORD AND_op, OR_op, NOT_op, XOR_op
msg1 BYTE "输入整数: ", 0dh, 0ah
x DWORD ?
y DWORD ?
.code
main proc
mov edx, offset outputmsg
call WriteString
call Crlf
call ReadDec
sub eax, 1
mov ebx, offset enteradd
call DWORD ptr [ebx+4*eax]
call WaitMsg
invoke ExitProcess, 0
main endp
AND_op proc
call all_need
mov x, eax
call all_need
;mov y, eax
and eax, x
call WriteHex
call Crlf
ret
AND_op endp
OR_op proc
call all_need
mov x, eax
call all_need
;mov y, eax
or eax, x
call WriteHex
call Crlf
ret
OR_op endp
XOR_op proc
call all_need
mov x, eax
call all_need
;mov y, eax
xor eax, x
;mov eax, x
call WriteHex
call Crlf
ret
XOR_op endp
NOT_op proc
call all_need
mov x, eax
not x
mov eax, x
call WriteHex
call Crlf
ret
NOT_op endp
all_need proc
mov edx, offset msg1
call WriteString
call ReadHex
ret
all_need endp
end main
只有本站会员才能查看附件,请 登录
上面 特许符号 是怎么多出来的啊 谁有空帮我分析下