关于#emu#的问题,如何解决?(关键词-字节数)

(1)设计任务编写程序实现以下功能 测试字节数据,根据其中第1、3、5三位中“1”的数量,作出不同选择。若有一位是1,程序就转至g1,在屏幕上显示1 若有两位是“1”,就转至g2,在屏幕上显示2;若有三位是“1”,就转至g3,在屏幕上显示3;若这三位没有一位是“1”,就转至g0,在屏幕上显示0。(2)原理分析本实验功能实现中有三个难点①如何判断第1、3、5位上的值是1还是0;②如何统计总共有几个1;③选择分支结构,根据1的个数,选择执行不同的分支,输出1的个数。解决第一个问题,可以使用两种方法:使用移位指令或利用Test指令。移位指令选择逻辑右移SHR能减少工作量,因为这里要求的是第1、3、5位上的值,所以从右往左看是这三位两两之间相隔1位,每次只要移动两位即可找到;若是使用逻辑左移指令则不如这个简便。解决第二个问题,可用一个循环语句来实现。通过设置两个计数器,一个用来控制循环次数,一个用来计算1的个数。解决第三个问题,可利用选择分支来实现。跳转条件是看1的个数,本实验中1的个数有四个取值0 1 2 3,这样就需要用四个选择分支来实现。
data segment
ccc db 00100010bdata ends;code segment
assume cs:code,ds:datastart:
mov ax,data ;将数据段的段地址传送给ax
mov ds,ax ;装载数据段的段地址
mov es,ax ;装载附加段的段地址

g1: mov dl,31h ;字符'1'的ASCII码是31H
mov ah,2 ;调用2号功能,显示字符
int 21h
jmp exit
g2:mov dl,32h
mov ah,e
int 21h
jmp exit
g3: mov dl,33h
mov ah,2
int 21h
jmp exit
g4: mov dl,31h
mov ah,2
int 21h
jmp exit
exit: mov ah,4ch
int 21h
code end
send start
省略号部分如何编写啊求帮助!!