原创 if 0 #define xxx

#define xxx 不用寫數值,可以當做開關來控制一段程序是否被編譯   #if 0 #endif 用來代替註釋掉暫時不用的代碼

原创 long long要用%lld打印

long long要用%lld打印 %lld 中間是兩個L。

原创 feof 與 fread 聯合使用要注意

二者判斷文件文件結尾有所不同 fread是成段成段的讀取,即便文件指針還沒到末尾,但如果讀取的段到了文件末尾,就返回0,而文件指針經過這次讀取後纔到達文件末尾。 feof是文件指針真正到達文件末尾後才返回-1,所以同樣已函數返回結果作爲循

原创 typedef 枚舉 結構體

typedef enum _EVS_ERROR //可以不寫枚舉名稱 {         ERROR00,         ERROR01,         ERROR02,         ERROR07 = 0x07,        

原创 C語言移位符>>與ASR算術右移等價

做個實驗,看看C語言的右移到底是 (1)LSR邏輯右移,不復制符號位 (2)ASR算術右移,保留並複製符號位。 S32 a=0x81234567; /-2128394905 S32 result1=(a>>16);  // S16 res

原创 notepad++ 列編輯

1、列編輯:按住Alt+鼠標左鍵拖動,可實現列選擇與“框選擇”,然後“編輯”——列塊編輯——可批量插入文本。 2、右擊文件標籤——複製/移動到另一視圖。

原创 notepad++ 雙擊高亮|多格式標記

1、雙擊高亮顏色設置: 設置——語言格式設置——Global  style——樣式——Smart  Hightlighting 2、打開雙擊高亮功能: 設置——首選項——高亮——勾選“啓用智能高亮”   3、使用不同格式標記多個對象 3.

原创 彙編前變址、後變址、回寫

前變址:   ldr  r0,[r1,#4]          ;[r1+4] →r0   前變址回寫: ldr  r0,[r1,#4]!          ;r1+4→r1,[r1]→r0   後變址回寫: ldr  r0,[r1],#

原创 notepad++ 熱鍵|雙向查找|書籤|TAB轉空格|單行註釋隱藏行

1、默認快捷鍵: (1)雙擊選中對象後ctrl+F進行查找,勾選查找框最右邊的小方框進入“雙按鈕查找模式”。 Enter鍵——下一個        Shift+Enter——上一個。 (2)書籤 設置書籤:最右邊行號後面單擊,再次單擊取消

原创 優化

1 改完a1段要看後面的a2段有沒有使用a1中改動的寄存器 2 根據左移的正負數對循環進行分情況拆分 3 可以用連續的ldr代替循環中

原创 notepad++ 複製文件 同步滾動 顯示符號 總在最前 行號

1、移動/複製文件到另一視圖/新視圖 右擊標籤頁——移動到另一視圖/複製到另一視圖/在新視圖中打開 2、垂直/水平同步滾動 視圖——垂直同步滾動 / 水平同步滾動。 3、顯示所有符號/顯示空格與製表符 視圖——顯示符號——顯示空格與製表符

原创 僅有B沒有BL時lr不會變|字節對齊

字對齊,即4字節對齊首地址的bit[1:0]總是00,首地址都是4的倍數。 半字對齊,即2字節對齊,首地址的bit[0]總是0,首地址總是2的倍數。 字節對齊就是1字節對齊。  

原创 c語言移位代替乘除法要注意符號位

使用移位很容易把符號位變換了,而乘法不會。 比如a=0b1011 1110,就是-66。 如果用左移一位代替乘2,結果左移後 a=0b0111 1100=124,負數變正數了,符號位被移走了。 而實際上a*2=-132。所以用移位代替乘法

原创 SI 關鍵字 彙編解析 個性化設置 快捷鍵

1、export/import  keyword list : 辛辛苦苦手動加入了很多關鍵字,可以export進行保存,保存時可以無後綴。import——選中——"Merge..."   2、Style Properties 更改"註釋顏

原创 計算機補碼

計算機用補碼記錄負數,-7的記錄是1111 1001(8位有符號字節),而不是1000 0111。   -7= 1000 0111原 1111 1000反 1111 1001補   正數的補碼就是其本身, 負數的補碼是除符號位取反再加1。