Assembler error, assembler problem

Updated on technology 2024-05-14
4 answers
  1. Anonymous users2024-02-10

    main: mov sp,#50h mov dptr,#tab;Read-in Die Pointer MOV 30H, DPL; Save it up; Stack low 8-bit MOV 31H, DPH ; Stack height 8-bit mov 32h, 30h; The pointer is then recorded and left for judgment on how many bits have been moved. mov 3h,31h ;3h high-level address of record font data inc 3h; The 3h high-level address +5 means that there are as many 5x256 columns as the data.

    rol: mov r2,#01h;Set the number of scans ini1: mov dpl, 30h; This section is a scan of 32 columns of mov dph,31h mov r4, 32 mov r3, 0 lop1 p1,r3 clr a movc a,@a+dptr mov p0,a inc dptr clr a movc a,@a+dptr mov p2,a inc dptr cal delay inc r3 djnz r4,lop1 djnz r2,ini1; This reserved number of scans can be adjusted with speed mov dpl,3....

  2. Anonymous users2024-02-09

    Is ax a register! The result is to be put in an address!

  3. Anonymous users2024-02-08

    This procedure I have seen for the second time Depressed why is the definition in Wang Shuang's book so awkward- Khan

  4. Anonymous users2024-02-07

    Answer: bx=9830h

    The v2 variable defines two words, the first one is 3367h, and the second one is 3598h These two words occupy 4 bytes in memory:

    v2 67h (the low-bit byte of the first word).

    v2+1 33h (the high byte of the first word) v2+2 98h (the low byte of the second word) v2+3 35h (the high byte of the second word) mov al, v1

    You don't need to explain much, right?

    After execution, al = 03h

    mov bx, v2+1

    This is to take a word from the v2+1 address.

    The low-bit byte of this word is in v2+1 33h, and the high-bit byte is in v2+2 98h

    So, after the instruction is executed, bx= 9833h

    sub bl, al

    Subtract 03h from 33h in BL and change the content in BL to 30h considering that BH is still 98h, so BX = 9830H

Related questions
5 answers2024-05-14

code segment ;Segment definition begins.

assume cs:code ;The code segment is specified as the ** segment. >>>More

11 answers2024-05-14

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. >>>More

5 answers2024-05-14

It should meet your requirements.

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

3 answers2024-05-14

INT 21 is a DOS function call, and the call function number is placed in AH, and the format is as follows: >>>More

14 answers2024-05-14

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