將10個數(有正數,有負數)全部轉換成正數指令
含義lea bx,x
lea取x有效的位址給bx
mov bx,offset x
將x的位址給bx,相當於lea bx,x,和第一條指令等價
or al,al
al 與 al
jns判斷不是不是負數
jnz判斷不是0
data segment
x db -1,2,-3,4,-5,6,-7,8,-9,10 ;db 相當於乙個陣列型別
org 10h
y db 100 dup('$') ;申請100個空間,每個空間賦值 $
data ends
code segment
assume cs:code,ds:data ;宣告**段和資料段
start:
mov ax,data
mov ds,ax
mov cx,10 ;cx相當於乙個計數器
lea bx,x ;lea取有效的位址 相當於把x的位址給bx bx指向了x陣列的首位址
lea si,y
next1:
mov al,[bx] ;將x[bx]的值賦值給al mov指令不影響標誌位
or al,al ; 將al | al 給標誌位賦值 eg: 1000 | 1000 最高位 1 | 1 = 1 也就相當於給flags(控制暫存器)中的 sf(符號標誌位)置數
jns next ; jns 判斷不是負數 就執行next
neg al ; neg 給al取絕對值
next:
mov [si],al ;將al的值賦值給y[si]
inc bx ;bx++
inc si ;si++
dec cx ;cx--
jnz next1 ;jnz 如果cx不是0就執行next1 jnz的預設運算元是cx
mov ax,4c00h ;返回dos
int 21h
code ends
end start ;程式結束
我們debug除錯一下,檢視資料段的值使我們的初值
PHP如何將陣列中的負數全部變為正數
php將陣列中的負數全部變為正數的方法 首先新建php檔案,並宣告php與瀏覽器互動的檔案型別和編碼 然後定義乙個含有負數的陣列,並定義for迴圈遍歷陣列 接著使用函式 abs 將陣列中的元素變成正數 最後執行該網頁輸出陣列即可。php將陣列中的負數全部變為正數的方法 1 新建乙個252.php 2...
將陣列的奇數字的元素存入陣列並返回
public class shuzuhe int jishu new int 10 for int i 0 i jishu i score i 1 for int jishu1 jishu 上題少了一種情況 奇數陣列,果是奇數則長度 length 2 1 還有賦值給新陣列這個方法也不是很好 最好使用...
華為程式設計大賽 將字元陣列內的數字排序
author justinzhang email uestczhangchao gmail.com time 2012年4月22日16 08 42 from 2012華為程式設計大賽下午組第二題 include include include using namespace std input是乙個...