- 博客(4)
- 收藏
- 关注
原创 汇编语言 输入字符串并输出所有非字母字符的前后导字符
输入字符串用10号中断,对缓冲区有格式规定,第一位未缓冲区大小,第二位保留,输入后储存字符串长度,从第三位开始是字符串,注意这个字符串是不带'$'结束符的,要手动添加。按逻辑判断一下当前字符是不是非字符,然后在判断一下是不是第一个或最后一个字符,通过判断CX实现。DATA SEGMENT BUF DB 20,?,20 DUP(?) CRLF DB 0AH,0DH,'$'DAT
2015-06-30 10:41:01 3113
转载 汇编语言LEA和OFFSET区别
lea 是机器指令,offset 是伪指令。LEA BX, BUFFER ;在实际执行时才会将变量buffer的地址放入bx MOV BX, OFFSET BUFFER ;在编译时就已经计算出buffer的地址为4300(假设),然后将上句替换为: mov bx,4300lea可以进行比较复杂的计算,比如lea eax,[esi+
2015-06-30 09:29:10 35928
转载 补码运算中的溢出
当两个以补码表示的负数相加时,会遇到两个问题。第一是两个负数的符号位相加,1+1后,本位为零,似乎负数相加变成了正数;其二是两个负数的数值部分之和,如果不向符号位进位,是不是就说明运算结果没有溢出?但不进位最终将导致两个负数相加成了正数,显然是错误的,这该怎么解释?如果两个以补码表示的负数的数值部分之和向符号位进位,会使运算结果依然为负数,那么这个运算结果是正确的吗?下面我们分析一下这个问题:
2015-06-29 21:29:13 22742 9
转载 汇编语言中使用有符号数还是无符号数问题
转自点击打开链接一、只有一个标准!在汇编语言层面,声明变量的时候,没有 signed 和 unsignde 之分,汇编器统统,将你输入的整数字面量当作有符号数处理成补码存入到计算机中,只有这一个标准!汇编器不会区分有符号还是无符号然后用两个标准来处理,它统统当作有符号的!并且统统汇编成补码!也就是说,db -20 汇编后为:EC ,而 db 236 汇编后也为 EC 。这里有一个小
2015-06-29 20:52:34 4479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人