簡體   English   中英

MASM匯編語言(x86)宏(CBW,LOOP,PTR)

[英]MASM assembly language(x86) macros (CBW,LOOP, PTR)

假設您的匯編器沒有CBW,LOOP和PTR操作,那么如何為每個這些設計宏?

例:

    MCBW macro
    move AX,0
    div AX,CH
    endm

循環宏:

;//---------------------------------------------------------------------------
myLoop MACRO myLabel:REQ
;//---------------------------------------------------------------------------

    dec ecx
    jnz myLabel

ENDM

在proc示例中:

mov ecx, 5
mov eax, 0
ANY_LOOP:
   inc eax
myLoop ANY_LOOP

CBW宏:

;//---------------------------------------------------------------------------
myCBW MACRO
;//---------------------------------------------------------------------------
    mov ebx, eax
    and eax, 080h
    shl ax, 1
    xchg ah, al
    mov ecx, 0FFFFh
    mul ecx
    mov al, bl

ENDM

在proc示例中:

mov eax, 8Fh
myCBW

PTR宏:

;//---------------------------------------------------------------------------
myPointer MACRO source:REQ
;//---------------------------------------------------------------------------
    exitm <[source]>

ENDM

在proc示例中:

.data
    number  DWORD 5

.code
    main PROC

    mov eax, myPointer(number) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM