نمایش نتایج 1 تا 4 از 4

نام تاپیک: برنامه نویسی در assembly 68k

  1. #1

    Post برنامه نویسی در assembly 68k

    سلام دوستان

    اینجا کسی هست که در این زمینه حرفه داشته باشه؟

    این هم :http://www.hvrsoftware.com/6800emu.htm شبیه سازی برنامه نویسی با ۶۸۰۰۰ هست

    کمک در یک برنامه ساده میخوام که وقتی بهش عدد میدیم بتونه عدد رو بشکونه مثال:
    ۱۵ وارد میکنیم ۴ بده یعنی ۱۵ تشکیل شده از: ‍۱ و ۳ و ۵ و ۱۵
    یا ۱۲ وارد میکنیم جواب بده ۶ یعنی ۱۲ از ۶ عدد مثل: ۱و ۲و ۳و ۴و ۶و ۱۲تشکیل شده.

    با تشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: برنامه نویسی در assembly 68k

    اینجا کسی هست که در این زمینه حرفه داشته باشه؟

    این هم :http://www.hvrsoftware.com/6800emu.htm شبیه سازی برنامه نویسی با ۶۸۰۰۰ هست
    اگر منظورتان حل مسئله هست این موضوع چه ارتباطی به شبیه ساز دارد؟
    در ضمن مسئله شما باید به چند قسمت تقسیم شود
    1 - عدد را بصورت رشته بگیرید
    2 - رشته را به عدد تبدیل کنید.
    3 - بعد الگوریتم خودتان را پیاده سازی کنید
    شما تا مرحله دوم کار را انجام بدید مرحله سوم خدا کریمه

  3. #3

    نقل قول: برنامه نویسی در assembly 68k

    این خوبه؟
    ldaa x
    ldab yاین خدایش آخرین زورمه!

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: برنامه نویسی در assembly 68k

    داخل همان سایت دمو هست و همچنین توضیحات کافی در مورد نحوه استفاده از آپ کدها قرار داده شده لیست زیر توضیحات مختصر در مورد کدهاست

    ================================================== =
    Programming Reference
    ================================================== ==
    Assembly statements contain the following fields:
    [Label] Operation [operand] [comment]
    Label: Can be used to define a symbol, to
    skip the field use a blank or tab
    Operation: Defines the opcode or directive
    opcodes are not case sensitive
    Operand: Contains an address or the data
    ignored with inherent addressing
    Comment: Used for software documentation
    can be at end or start of statement
    uses a semicolon to start the comment
    Examples: label adda 3 ;comment here
    adda label
    clra ;inherent address
    ; this is a full line comment
    ================================================== ==
    Assembler: Tag Description Example
    Directives: ----------------------------------------
    .org Where to put code .org $200
    .equ Define Constant .equ 100
    .set Define Constant .set 100
    .rmb Reserve Memory .rmb 16
    .byte Define Variable .byte 64
    Array of bytes .byte 1,2,3
    .word Define Variable .word 5000
    array of words .word 1,2,3
    .str Define string .str "text"
    array of strings .str "a","b"
    .end End of Program .end

    ================================================== ==
    Number: Prefix Description Example
    Format: ----------------------------------------
    Decimal 320
    $ Hex $240
    $ Hex $240
    % Binary %0110101
    ' Character 'm

    ================================================== ==
    Operand: Format Description Examples REF
    Formats: ----------------------------------------
    Inherent clra H
    #<data> Immediate ldaa #4 I
    <data> Relative bra 10 R
    <data> Direct,Extended ldaa 4 D,E
    ldaa label
    <data>,x Indexed ldaa 4,x X

    ================================================== ==
    Instruction Reference
    ================================================== ==

    Status Flags: H I N Z V C
    | | | | | |
    | | | | | --- Carry-Borrow
    | | | | | --- Carry-Borrow
    | | | | ------ Overflow
    | | | --------- Zero
    | | ------------ Negative
    | --------------- Interrupt Mask
    ------------------ Half Carry
    ================================================== ==
    Nnemonic Operation Mode Status
    Branch and Jump -------------------------- HINZVC
    BRA Branch Always R ------
    BCS Branch if Carry Set [C=1] R ------
    BCC Branch if Carry Clear [C=0] R ------
    BMI Branch if Minus [N=1] R ------
    BPL Branch if Plus [N=0] R ------
    BVS Branch if Overflow Set [V=1] R ------
    BVC Branch if Overflow Clear[V=0] R ------
    BEQ Branch if Equal [Z=1] R ------
    BNE Branch if Not Equal [Z=0] R ------
    BLT Branch if < (signed) R ------
    BLE Branch if <= (s
    BLE Branch if <= (signed) R ------
    BGE Branch if >= (signed) R ------
    BGT Branch if > (signed) R ------
    BLS Branch if Lower or Same (unsgn)R ------
    BHI Branch if Higher (unsigned) R ------
    BSR Branch to Subroutine R ------
    JSR Jump to Subroutine EX ------
    JMP Jump Absolute EX ------
    RTS Return from Subroutine H ------
    Accumulator Only ------------------------- HINZVC
    ===> NEMz can be either NEMA or NEMB <===
    ASLz Arithmetic Shift Left A H --****
    ASRz Arithmetic Shift Right A H --****
    LSRz Logical Shift Right A H --0***
    ROLz Rotate Left A H --****
    RORz Rotate Right A H --****
    CLRz Clear Accumulator A [A <- 0] H --0100
    COMz One's Complement A H --**01
    DECz Decrement A [A <- A - 1] H --***-
    INCz Increment A [A <- A + 1] H --***-
    NEGz Negat
    NEGz Negate A [A <- 0 - A] H --****
    PSHz Push Accumulator H ------
    PULz Pull/Pop Accumulator H ------
    TSTz Test A [A <- A - 0] H --**00
    ABA Add Accumulators [A <- A + B] H *-****
    CBA Compare Accumulators [A - B] H --****
    DAA Decimal Adjust A H --****
    SBA Subtract Accumulators [A<-A-B] H --****
    TAB Transfer Accumulator [B <- A] H --**0-
    TBA Transfer Accumulator [A <- B] H --**0-
    Memory Reference ------------------------- HINZVC
    ===> NEMz can be either NEMA or NEMB <===
    LDAz Load Accumulator [A <- M] IDXE --**0-
    STAz Store Accumulator[M <- A] DXE --**0-
    ADCz Add with Carry [A <- A+M+C]IDXE *-****
    ADDz Add [A <- A+M] IDXE *-****
    SBCz Subtract w. Carry[A <- A-M-C]IDXE --****
    SUBz Subtract [A <- A-M] IDXE --****
    BITz Bit Test [A and M] IDXE --**0-
    ANDz Logical AND [A<- AandM] IDXE --**0-
    EORz Exclusive OR
    EORz Exclusive OR [A<- AxorM] IDXE --**0-
    ORAz Inclusive OR [A<- Aor M] IDXE --**0-
    CMPz Compare Memory [A - M] IDXE --****
    ASL Arithmetic Shift Left XE --****
    ASR Arithmetic Shift Right XE --****
    LSR Logical Shift Right XE --0***
    ROL Rotate Left Memory XE --****
    ROR Rotate Right Memory XE --****
    CLR Clear Memory [M <- 0] XE --0100
    COM Complement Memory[M <- !M] XE --**01
    DEC Decrement Memory [M <- M - 1] XE --***-
    INC Increment Memory [M <- M + 1] XE --***-
    NEG Negate Memory [M <- 0 - M] XE --****
    TST Test Memory [M - 0] XE --**00
    Stack and Index -------------------------- HINZVC
    CPX Compare X IDXE ---*--
    DES Decrement SP [SP <- SP - 1] H ------
    DEX Decrement X [ X <- X - 1] H ---*--
    INS Increment SP [SP <- SP + 1] H ------
    INX Increment X [ X <- X + 1] H ---*--
    LDS Load SP
    LDS Load SP IDXE --**0-
    LDX Load X IDXE --**0-
    STS Store SP DXE --**0-
    STX Store X DXE --**0-
    TSX Transfer SP,X [X <= SP + 1] H ------
    TXS Transfer X,SP [SP <= X - 1] H ------
    Status Flags ----------------------------- HINZVC
    CLC Clear Carry H -----0
    CLV Clear Overflow H ----0-
    CLI Clear Interupt Mask H -0----
    SEC Set Carry H -----1
    SEV Set Overflow H ----1-
    SEI Set Interupt Mask H -1----
    TAP Set Status Mask [Flags<-ACC] H ******
    TPA Load Status Flags [ACC<-Flags] H ------
    Miscellaneous ---------------------------- HINZVC
    NOP No Operation H ------
    WAI Wait for key press H -1----
    .................................................. ....
    }

    درسته این تالار مربوط به اسمبلی میشود ولی اگر منظورتان برنامه نویسی اتوماسیون صنعتی هست میتوانید در تالار برنامه نویسی سیستمهای embended تاپیکتان را ارسال کنید.
    من در مورد پردازنده 6800 کار نکرده ام امیدوارم دوستان دیگر بتوانند کمکتان کنند.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •