小编rar*_*dea的帖子

awk系统调用

我想使用awk和system()函数来移动几个目录.

我有一个文件,我想用awk名称进行处理,file.cfg其组织方式如下:

/path1 /path2 
/some_path /some_other_path 
and so on..
Run Code Online (Sandbox Code Playgroud)

每个第一条路径都通过空格与第二条路径分开所以这就是我做的方式:

awk '{system(mv -R $1" "$2)}' file.cfg
Run Code Online (Sandbox Code Playgroud)

但它没有用,我得到了

sh: 0/home/my_user/path1: No such file or directory
Run Code Online (Sandbox Code Playgroud)

file.cfg看起来像这样:

/home/my_user/path1 /home/my_user/path2
Run Code Online (Sandbox Code Playgroud)

之前没有0 /home.那我在这里错过了什么?

bash awk

11
推荐指数
2
解决办法
3万
查看次数

与push一样的指令序列

我想知道是否有可能(如果是这样,如何)编写一系列具有相同效果的指令push.例如,如果内容ax是1200,我做了push ax,我还可以用什么其他指令来完成什么push ax呢?

x86 assembly stack x86-16

4
推荐指数
1
解决办法
1156
查看次数

用于在x轴上找到最大数量的非重叠线的算法

我不确定如何问这个,但我会尽量做到具体.想象一个俄罗斯方块屏幕,只有不同形状的矩形,落到底部.我想计算一个接近另一个的矩形的最大数量而不重叠.我在标题中将它们命名为行,因为我实际上只对计算时矩形的长度感兴趣,或者是平行于x轴的线,它正朝着它倾斜.

所以基本上我有一个带开始和结束的自定义类型,两个整数都在0到100之间.假设我们有一个从1到n的矩形列表.rectangle_n.start(除非是最接近原点的矩形)必须是> rectangle_(n-1).end,以便它们永远不会重叠.我正在从具有随机数的文件中读取矩形坐标(都是x轴坐标).

例如:考虑这个矩形类型对象列表

rectangle_list {start, end} = {{1,2}, {3,5}, {4,7} {9,12}}
Run Code Online (Sandbox Code Playgroud)

我们可以观察到第3个对象的起始坐标为4 <前一个矩形的结束坐标为5.因此在排序此列表时,我必须删除第二个或第三个对象,使它们不重叠.

我不确定这种问题是否有类型,所以我不知道如何命名它.我对可以应用在这些对象列表上的算法感兴趣,并相应地对它们进行排序.

我用c ++标记了这个,因为我写的代码是c ++,但任何语言都可以用于算法. 初始状态

最终状态

c++ sorting algorithm

3
推荐指数
1
解决办法
1922
查看次数

8086汇编,关于PTR运营商

这可能是简单而愚蠢的,但无论如何我会问它,因为我似乎无法弄明白.

一个简单的代码片段:

 assume cs:code, ds:data
 data segment
    b dd 256
 data ends

 code segment
 start:
        mov ax,data
        mov ds,ax
        mov ax,word ptr b     -> the result of this operation will be ax:= 256 (100h)

        mov bx,word ptr b+1   -> while this is going to be bx:= 1
Run Code Online (Sandbox Code Playgroud)

我想它与地址有关,它被一个字节或其他东西移动但我不完全确定,我真的需要理解.

提前致谢 !

x86 assembly x86-16

2
推荐指数
1
解决办法
1万
查看次数

8086汇编 - 如何添加2个字节,其总和将大于一个字节

好的,问题很简单.如果我有2个随机字节,比如150(a [0])和215(b [0]),我想添加它们.显然他们的总和不适合一个字节,所以如果我添加它们我会得到一个溢出.我已经尝试在al中存储其中一个字节并执行cbw,这样我就会在单词ax上表示相同的数量,并将第二个字节添加到那个,但是有些东西我无法理解,因为它不起作用.这是一个示例代码:

data segment
  a db 150,182,211
  b db 215,214,236
data ends

code segment
start:
  mov ax,data
  mov ds,ax

  lea si,a          ; these 2 shouldn't be here since i realised eventually that
                    ; i could use
  lea di,b          ; a constant for memory addressing and not necessarily a
                    ; a register
  mov ax,0000
  mov bl,a[0]
  mov al,b[0]
  cbw
  adc bx,ax      ; so this didn't work out well

  mov ax,0000
  mov al,a[0] 
  cbw            ; convert one of the bytes into …
Run Code Online (Sandbox Code Playgroud)

x86 assembly x86-16

2
推荐指数
1
解决办法
5814
查看次数

计算C程序中的函数调用数

给出了AC源程序.确定源中每个已定义的函数,调用次数以及调用发生的行.

我能想到的最好的事情是,grep -c 'function (' code.c 这只有在我知道函数名称时才有效,并且它只提供调用次数(考虑到该文件中没有原型).不知道还有什么可以开始,所以任何建议都会得到很好的满足.

bash awk grep sed

1
推荐指数
1
解决办法
1615
查看次数

8086汇编 - 如何访问循环中的数组元素

好吧,为了使事情变得尽可能简单,我说我有一个基本循环,我想用它来修改标记为a的数组的某些元素.在下面的示例代码中,我尝试将a的所有元素替换为1,但这并不能真正起作用.

assume cs:code ,ds:data
data segment
  a db 1,2,3,4
  i db 0
data ends

code segment
start:
  mov ax,data
  mov ds,ax

  lea si,a

  the_loop:
    mov cl,i
    cmp cl,4
    jae the_end

    mov ds:si[i],1      ; this is the part that i don't really understand since
    inc i               ; i'm expecting i=0 and ds:si[i] equiv to ds:si[0] which
  loop the_loop         ; is apparently not the case here since i actually receives the
                        ; the value 1
  the_end:
    mov ax,4c00h
    int 21h
code ends …
Run Code Online (Sandbox Code Playgroud)

memory arrays x86 assembly x86-16

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

assembly ×4

x86 ×4

x86-16 ×4

awk ×2

bash ×2

algorithm ×1

arrays ×1

c++ ×1

grep ×1

memory ×1

sed ×1

sorting ×1

stack ×1