设某个学生的英语成绩已存放在AL寄存器中,如果低于60分,那么打印F(FAIL);若高于或等于85分,则打印G(GOOD);当在60分和84分之间时,打印P(PASS)。
assume cs:code, ds:datadata segmentscoredb 90; 分数give_a_mark db 0, '$' ; 评分data endscode segmentstart:mov ax, data mov ds, ax; 初始化 ds,将data段的偏移地址赋值给 dsmov dx, 0mov al, ds:score[0] ; 将AL指向 score 首地址cmp AL, 60; 与60分比较jb FAIL; < 60,转FAILcmp AL, 85; ≥ 60,与85分比较jae GOOD; ≥ 85,转GOODmov AL, 'P'; 其它,将AL ← 'P'jmp PRINT; 转打印程序FAIL:mov AL, 'F'; AL ← 'F'jmp PRINT; 转打印程序GOOD:MOV AL, 'G'; AL ← 'G'PRINT:MOV ds:give_a_mark[0], ALlea dx, give_a_mark ;使DX指向give_a_mark首地址mov ah, 09H ;给AH设置参数09Hint 21Hmov ax, 4C00Hint 21Hcode endsend start
当学生成绩为 90分时,程序输出‘G’。
当学生成绩为 60分时,程序输出‘F’。
当学生成绩为 70分时,程序输出‘P’。