1. 汇编语言程序设计

一、
MOV DI,0000H ;让ds:di指向字符串
MOV CX,n ;设置循环次数
MOV AL,'A' ;设置扫描的字母
CLD ;设置df为0
REPNE SCASB ;开始扫描
JZ FOUND ;找到则跳转
MOV DI,00H ;没找到则让di指向字符串开头
FOUND: MOV BX,DI ;让bx记录A所在位置
HLT ;处理器暂停

二、
TEST AX, 0001H ;判断最后一位是否为一
JZ EVEN ;为一,是奇数,跳转
ADD AX,1 ;是偶数,加一
EVEN: SHR AX,1 ;右移一位,相当于除2

三、
MOV CX,100 ;设置循环次数
MOV SI,00FFH ;di指向字符串的前一个字节
L1:INC SI
CMP BYTE PTR[SI],’$’
LOOPNE L1 ;di指向下一个字节,如果它不是$而且循环次数未到,则转到L1继续循环;

SUB SI,0100H
MOV CX,SI
MOV SI,0100H ;指向第一个字符
MOV AL,[SI] ;把第一个字符送入al
DEC CX ;指向前一个字符
L2: INC SI ;指向下一个字符
ADD AL,[SI] ;把字符加到al
LOOP L2 ;如果次数没到则转L2继续
HLT ;处理器暂停