汇编4章练习

Exercise One:自si开始的三个字单元中,存放着无符号的数,要求将这三个数进行相加,结果存放到后一个单元中去。

  要点:  注意是无符号数,再相加的过程中,只要CF产生了进位,就会发生溢出。

DATA SEGMENT
    BUF DW XXH,YYH,ZZH
    SUM DW ?,?
    DATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
    MOV DS,AX
    
    LEA SI,BUF  
    LEA DI,SUM
    MOV AX,[SI]
    ADD AX,[SI+2]
    MOV [DI],AX
    MOV AX,0
    ADC AX,O
    MOV [DI+2],AX
    MOV AX,[DI]
    MOV AX,[SI+4]
    MOV [DI],AX
    ADC [DI+2],0
    MOV AH,4CH
    INT 21H
COD ENDS
END START

 Exrcise Two:试编写一个程序,把地址偏移量为100H开始的256个单元分别写入吧00H,01H,02H,。。。。,FFH。

  我们选用LOOP循环。

DATA SEGMENT
    ORG 100H
    BUF1 DB 256 DUP(?)
    COUNT  EQU $-BUF1
    DATA ENDS
STK SEGMENT STACK
    DB 100 DIP(?)
    STK ENDS
CODE SEGMENT 
    ASSUME CS:CODE,DS:DATA,SS:STK
    START:MOV AX,DATA
    MOV DS,AX
    MOV SI,OFFSET BUF1
    MOV CX,COUNT
    XOR AL,AL
    NEXT:MOV [SI],AL
    INC AL
    INC SI
    LOOP NEXT
    MOV AH 4CH
    INT 21H
    CODE ENDS
END START

Exercise Three:统计上述数据块中写入的元素中的0元素,正数,负数的个数,并分别把同i结果写u上述数据块的后面三个单元中。

 

DATA SEGMENT
    ORG 100H
    BUF1 DB 00h,01h,02h,,,ffh   ;假设我们现在定义
    COUNT  EQU $-BUF1
    DB 3 DUP(?)
    DATA ENDS
STK SEGMENT STACK
    DB 100 DIP(?)
    STK ENDS
CODE SEGMENT 
    ASSUME CS:CODE,DS:DATA,SS:STK
    START:MOV AX,DATA
    MOV DS,AX 
    MOV SI,OFFSET BUF1
    MOV CX,COUNT
    XOR BX,BX          ;用来存储正数和负数
    XOR DH,DH          ;用来存储负数
    NEXT2:MOV AL,[SI]
    CMP AL,0
    JZ ZERO
    JS NEGAT
    INC BL
    JMP NEXT3   
    ZERO:INC DH
    NEGAT:INC BH
    NEXT3:INC SI
    LOOP NEXT2
    MOV [SI],DH
    INC SI
    MOV [SI],BX
    MOV AH 4CH
    INT 21H
    CODE ENDS
END START

Exercise Four:把地址偏移量为STRG1开始的128个单元的内容,传送到地址偏移量为STRG2开始的单元中。

  通常我们一般选用LOOP循环结构来构建程序,但是MOVSB移动字符串的指令也可以用于此。

DATA SEGMENT
    STRG1 DB XXH,XXH,XXH,,,,XXH
    SOUNT EQU $- STRG1
    STRG2 DB 128 DUP(?)
    DDATA ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
    START:MOV AX,DATA
    MOV DS,AX
    MOV SI,OFFSET STRG1
    LEA DI,STRG2
    MOV CX,COUNT
    CLD
    REP MOVSB
    MOV AH,4CH
    INT 21H
    CODE ENDS
END START

 

未完,待续........

posted @ 2020-04-10 22:43  为红颜  阅读(80)  评论(0编辑  收藏