I do it in TASM, I have a question because I am not sure about the correctness of the code. Here is the task. In the data segment, the numbers are placed in succession: -1, 2, + 128,129, + 32769 in the minimum required format. Expand the first two numbers to the format of the word and write down after the original numbers. ON THE PLACE OF THE SENIOR BYTE THIRD NUMBER RECORD THE SYMBOL '#', ON THE PLACE OF THE YOUNGER BYTE - THE SYMBOL '1'.
.386 dseg segment use16 a db -1 b db 2 c dw +128 d dd +32769 ea dw ? eb dw ? ec dw ? ed dd ? dseg ends cseg segment use16 assume ds:dseg, cs:cseg ; Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅Π³ΠΈΡΡΡΠΎΠ²-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ m1: mov cx, dseg mov ds, cx ; ΡΠ°ΡΡΠΈΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠΈΡΠ»Π° Π΄ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ»ΠΎΠ²Π° movzx ax, ds:[a] movzx bx, ds:[b] mov ds:ea,ax mov ds:eb,bx ; ΠΠ°ΠΌΠ΅Π½ΠΈΠΌ 3 ΡΠΈΡΠ»ΠΎ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π±Π°ΠΉΡ Π½Π° ΡΠ΅ΡΠ΅ΡΠΊΡ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π° 1 ;Π’Π£Π’ Π£ ΠΠΠΠ― ΠΠΠΠ ΠΠ‘!!! mov cx, ds:c mov ch,'#' mov cl,'1' ; ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ mov ah, 4ch int 21h cseg ends end m1
mov cx, ds:c; mov ch,'#'; mov cl,'1'
mov cx, ds:c; mov ch,'#'; mov cl,'1'
mov cx, ds:c; mov ch,'#'; mov cl,'1'
(semicolon is just a separator here). You considered the data in the register, replaced the high and low bytes, and so left in the register. Then you have the "completion of execution". How do you think something will appear in the variableec
? - insolor