南邮 微机原理 第四章作业第二题

假设数据段从BUF单元开始,存有20个8位无符号数,如下:

BUF DB 45,76H,10001010B,-4,188,255,14H,'A58a',0FFH,66H,100,-100,-50,150,200,34,11011001B

则这20个数值中大于100的数据一共____个。

解答:20.首先,一字节无符号数0-255,无符号数负数,即负数内存中用补码表示,人为读取的时候忽略符号位。如-4补码:0FCH,无符号数读作:252。溢出的正数,如+255,内存中表示为11111111B,读取为有符号数溢出,那就是-1,如果读取为无符号数那就是255有符号数或者无符号数是后天定义的。

(100是64H) 76H,10001010B,-4,188,255,('a'=61H),0FFH,66H,-100,-50,150,200,11011001B

需要注意的是,无符号数比较大小需要用JA,JNA,JC,JNC来比较,和有符号数区别开来。原因是有符号数首先比较符号位。

dx的转成10进制输出的代码参考了:二进制转换成十进制的汇编程序-CSDN社区,也可以简单粗暴用dl来计数,add dl,30h,DOS调用输出,如果超过9可以查表得到

代码如下:

DATAS SEGMENT 
NUM DB 45,76H,10001010B,-4,188,255,14H,'A58a',0FFH,66H,100,-100,-50,150,200,34,11011001B
DATAS ENDS;‘A58a’是以字节保存的4个ASII数,无符号数负数还是用补码表示
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS 
START:
    MOV AX,DATAS 
    MOV DS,AX ;MOV指令只能将寄存器操作数赋值给段寄存器
    MOV BX,OFFSET NUM ;把DATAS的段偏移赋值给BX 16位寄存器
    MOV CX,20 ;LOOP循环次数是20
    MOV DX,0 ;DL用于保存负数个数
    
LAST:CMP BYTE PTR [BX],100 
    JA NEXT;无符号数比较,如果X>Y转移
    INC BX
    DEC CX
    JMP  LAST 
  
 NEXT:
	INC BX 
	INC DX
	LOOP LAST
	
	mov cx,0;循环次数清零
 	MOV AX, DX
 	
 	DoDiv:
	mov bl,10  
	div bl     ;al←ax/10的商
                   ;ah←ax/10的余数
	push ax    ;保存结果
	inc cx 
	xor ah,ah  ;ah清零,清除余数
	cmp al,0   ;判断商是否为零
	jnz DoDiv ;商是0就下一个循环
	
DoPrt:
	pop dx      ;dx中保存的是每次除的结果
	xchg dh,dl  ;原dh保存商,原dl保存余数
	add dl,30h  ;dl中的数字是每次除后的商,将其表示成ascii
	mov ah,2 
	int 21h 
	loop DoPrt ;依次输出
	
CODES ENDS
END START


 

AI实战-泰坦尼克号生还可能性数据集分析预测实例(含19个源代码+59.76 KB完整的数据集) 代码手工整理,无语法错误,可运行。 包括:19个代码,共121.84 KB;数据大小:1个文件共59.76 KB。 使用到的模块: pandas numpy seaborn matplotlib.pyplot warnings sklearn.model_selection.train_test_split sklearn.ensemble.RandomForestClassifier sklearn.metrics.accuracy_score sklearn.metrics.confusion_matrix os scipy.stats sklearn.compose.ColumnTransformer sklearn.impute.SimpleImputer sklearn.preprocessing.OneHotEncoder sklearn.impute.KNNImputer sklearn.preprocessing.StandardScaler sklearn.ensemble.RandomForestRegressor sklearn.ensemble.GradientBoostingRegressor sklearn.metrics.classification_report sklearn.metrics.roc_auc_score sklearn.model_selection.cross_val_score sklearn.pipeline.Pipeline sklearn.model_selection.RandomizedSearchCV sklearn.ensemble.GradientBoostingClassifier sklearn.linear_model.LogisticRegression sklearn.naive_bayes.GaussianNB sklearn.metrics.roc_curve xgboost.XGBClassifier sklearn.ensemble.AdaBoostClassifier sklearn.tree.DecisionTreeClassifier sklearn.preprocessing.LabelEncoder imblearn.over_sampling.SMOTE sklearn.svm.SVC sklearn.model_selection.GridSearchCV math sklearn.neighbors.KNeighborsClassifier sklearn.metrics.precision_score sklearn.metrics.recall_score sklearn.metrics.f1_score sklearn.metrics.ConfusionMatrixDisplay torch dataclasses.dataclass typing.List typing.Tuple typing.FrozenSet typing.Set typing.Dict fcapy.lattice.ConceptLattice fcapy.lattice.formal_concept.FormalConcept fcapy.poset.POSet fcapy.visualizer.line_layouts.calc_levels sparselinear.SparseLinear sklearn.neural_network.MLPClassifier fcapy.context.FormalContext fcapy.visualizer.LineVizNx networkx sklearn.preprocessing.MinMaxScaler sklearn.ensemble.BaggingClassifier torch.nn torch.optim sklearn.datasets.load_iris
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值