MCU assembler execution order 100

Updated on technology 2024-03-16
11 answers
  1. Anonymous users2024-02-06

    First of all, ajmp start is an unconditional jump, which is a direct jump to start, and the interrupt entry and pseudo instructions in the middle are not executed when the main program is run normally for the first time, but they are all assembled into instructions** exist in the rom, but they are skipped when executed, but they still exist when they are assembled.

    The LJMP address space is 16 bits, and the jumpable range is 64K, which occupies 3 bytes.

    AJMP and SJMP jumps to 11-bit addresses and 8-bit addresses, respectively, which are relative ranges centered on this instruction, which account for 2 bytes.

    The main difference between them is that the one who jumps far takes up more ROM space, while in the case of a tight rom, the short one can be used.

    JMP is generally used for variable address addressing, and needs to be used in conjunction with DPTR.

  2. Anonymous users2024-02-05

    0000: ajmp start

    0030: mov sp,#5fh

    mov p1,#0ffh

    mov p3,#0ffh

    setb it0

    setb ea

    setb ex0

    ljmp $ The main program is in this endless loop.

    In the future, if there is an external interrupt 0, the following procedure is executed.

    0003: ljmp int_0

    int_0:cpl ;Counter.

    reti ;Fall back to the main program and continue the endless loop.

    The pseudo-directive org 30h just tells the compiler that the following instruction is stored in the 30h location of the ** area.

    LJMP is a 3-byte long jump instruction with a range of up to 64 KAjmp is a 2-byte medium jump instruction with a range of 2K

    SJMP is a 2-byte relative jump instruction, with a range of 128, you can generally write assembly jmp pseudo instructions, and the compiler can directly optimize and select the actual instructions to generate ljmp, ajmp, and sjmp according to the actual situation of compilation.

  3. Anonymous users2024-02-04

    It must be executed sequentially, and there is no transfer instruction that is executed sequentially.

  4. Anonymous users2024-02-03

    ...Outside the world.

    ..No one will help you.

    ..There's too little money.

    ..It would take at least a day to finish that compilation.

  5. Anonymous users2024-02-02

    If you don't study hard, now take 20 virtual ingots, who is so kind??

  6. Anonymous users2024-02-01

    Enter: debug "File name" in the runtime.

  7. Anonymous users2024-01-31

    The assembler is written in pseudo-** and must be compiled into machine code in order to run. However, if your assembler is not large, you can write and debug it in debug.

  8. Anonymous users2024-01-30

    1. All assembly language programs, if on the PC, generate exe files, if on the microcontroller, convert into hex or bin files, burn into the microcontroller, but both start trial run, both use debug

  9. Anonymous users2024-01-29

    The number of scores less than 60 is counted.

    score db 56,89,76,60,35,16,100 data definitions.

    count equ $-score count indicates the number of data.

    rs dw ?The number of scores less than 60.

    mov cx, count cx, set the number of cycles.

    lea bx, score bx point to the initial address.

    mov dx, 0 is set to 0 initially

    lop1: mov al, [bx] takes the number.

    CMP AL, 60 comparison.

    If the JAE LOP2 is greater than or equal to, the comparison continues.

    The number of inc dx is increased by 1

    loop lop1 to continue the loop.

    MOV RS, DX number send RS

  10. Anonymous users2024-01-28

    Assemblers are executed sequentially, and if you want to jump to a different location, you must execute the jump command, otherwise it is executed sequentially. There is no return instruction for assembly.,The return instructions are all pseudo-instructions.,After compilation, they're all jump instructions.。。。 If you want a program to be executed out of order, you have to use the jump command in the assembly...

    After each function in the C language is executed, the return is a call to the jump instruction...

    In the assembly, the operation of the CPU is detailed to each step, such as the transfer of form parameters, you must put the form parameter command into the parameter table, and then call the jump instruction to complete the function call, the automatic variable in the operation must be completed by you personally test the instruction, and you must save the return address of the function call, and put the return value of the function return value to the return value position after execution, and then jump to this address to complete a function call...

    Of course, the above process is the rule of the C language, if it is an assembler you are free, there is no need to follow the way of the C language...

  11. Anonymous users2024-01-27

    It's very simple: one by one.

Related questions
5 answers2024-03-16

It should meet your requirements.

But there was no way to go to the computer room for experiments. >>>More

14 answers2024-03-16

I think it's okay, now the system is mostly written in C, but it may be written in C at the beginning, and then the system is bigger, it is difficult to change it to C++, because the system is relatively large, so I think it is good to write in C++, easy to control, of course, the speed is to be discounted, but stability and flexibility should be more important, after all, the slow is better than the unmodifiable and the old crash, and the speed of C++ is not much worse than C, and even faster in some places, because now C++ development is much faster than CAs Bjarne Stroustrup said, learning C is just about dealing with the ** that is being taken as a legacy, hehe. I wonder if that's a bit too much? >>>More

3 answers2024-03-16

The specific steps are as follows:

Clause. 1. Specify what programming language you want to use (C or C++ or whatever); >>>More

7 answers2024-03-16

Pick up tutorials online. I can't tell. `

10 answers2024-03-16

1.Learning to program depends on how well you think about it, if you are strong, you can get started in a few months, if you are not good, it will take two years (it is recommended that you find a training school). >>>More