Download Die Assemblersprache der intel 80x86

Transcript
127
18:
19:
20:
21:
22:
xchg edi,dl
mov esi,dx
xchg esi,ebx
xchg ch,cx
mov ch,cl
;Fehler, Operanden versch. Bitbreite: EDI: 32 Bit, DL: 8 Bit
;Fehler, Operanden versch. Bitbreite: ESI: 32 Bit, DX: 16 Bit
;ok
;Fehler, Operanden versch. Bitbreite: CH: 8 Bit, CX: 16 Bit
;ok
2. EAX=12345678h
3. Zeilen 1,2: Diese beiden Befehle können ersetzt werden durch mov ax,100h
Zeilen 3,4: Die beiden Befehle können ersetzt werden durch mov ebx,2800h
Zeilen 5,6: Diese beiden Befehle können ersetzt werden durch movzx eax,dl
Zeile 7: Entspricht No Operation (NOP), ändert kein Register u. kein Flag
Zeilen 8–10: Soll eine Vertauschung von DI und SI bewirken, besser xchg di,si
4.
mov DX,BX
; Inhalt von BX parken (retten)
; geht nur, wenn DX frei
mov BX,AX
mov AX,CX
mov CX,DX
b)
xchg ax,bx
xchg ax,cx
5.
; a)
mov si,ax
shr eax,16
mov di,ax
; b)
mov ax,dx
shl eax,16
mov ax,cx
; c)
mov dl,cl
mov dh,ch
; oder besser und kürzer
mov dx,cx
6. movzx eax,ax
Lösungen der Fragen zu den Betriebssystemaufrufen
(Abschnitt 5.4)