注册 登录
编程论坛 汇编论坛

很郁闷*~~*

诸葛修勤 发布于 2011-03-11 11:55, 446 次点击
发给贴总是 发布不了     用这个标题 看看还行不
程序代码:
;#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
只有本站会员才能查看附件,请 登录

上面 特许符号 是怎么多出来的啊  谁有空帮我分析下  
6 回复
#2
诸葛修勤2011-03-11 11:56
非要搞的这样才能发帖成功   感觉标题上面不能带有那种比较客气的词 唉。。。
#3
zaixuexi2011-03-11 14:41
BYTE "(4) x XOR y "
->
BYTE "(4) x XOR y$"
#4
诸葛修勤2011-03-11 17:41
只有本站会员才能查看附件,请 登录
改过后的
你的可以消除吗?
#5
诸葛修勤2011-03-11 18:03
程序代码:
;#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,\
                  "(2) x OR y ", 0dh, 0ah,\
                  "(3) NOT x ", 0dh, 0ah,\
                  "(4) x XOR y"
align 4
enteradd    DWORD AND_op, OR_op, NOT_op, XOR_op
msg1        BYTE "输入整数: "
align 4
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
    and eax, x
    call WriteHex
    call Crlf
    ret
AND_op    endp

OR_op    proc
    call all_need
    mov x, eax
    call all_need
    or eax, x
    call WriteHex
    call Crlf
    ret
OR_op    endp

XOR_op    proc
    call all_need
    mov x, eax
    call all_need
    xor 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
只有本站会员才能查看附件,请 登录
#6
zaixuexi2011-03-11 18:45
哦,你是调WriteString的。
#7
寒风中的细雨2011-03-15 21:25
程序代码:
.data
outputmsg    BYTE "(1) x AND y ", 0dh, 0ah,\
                  "(2) x OR y ", 0dh, 0ah,\
                  "(3) NOT x ", 0dh, 0ah,\
                  "(4) x XOR y", 0
;align 4
enteradd    DWORD AND_op, OR_op, NOT_op, XOR_op
msg1        BYTE "输入整数: ", 0
;align 4
x    DWORD ?
y    DWORD ?
加上0 就可以了
1