1.
DATA SEGMENT
X DB -5
Y DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,X
CMP AL,0
JGE DYDY
NEG AL
DYDY:
ADD AL,5
MOV Y,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
2.
DATA SEGMENT
BUFF DB 100 DUP(?)
COUNT1 DB ?
COUNT2 DB ?
COUNT3 DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA SI,BUFF
MOV CX,100
NEXT:
CMP BYTE PTR [SI],0
JG GREATER
JL LESS
INC COUNT2
JMP NEXT1
GREATER:
INC COUNT1
JMP NEXT1
LESS:
INC COUNT3
NEXT1:
INC SI
LOOP NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START
3.
NEXT:
IN AL,26H
TEST AL,01H
JNZ NEXT
MOV SI,1000H
MOV CX,10
NEXT1:
MOV AL,[SI]
OUT 20H,AL
INC SI
LOOP NEXT1
RET